crx349 发表于 2020-9-13 02:37:42

解决在IIS7.5下下Discuz X3.4中文用户名空间显示404解决方案

对于Discuz! X3.4论坛,很多用户开启伪静态并且当用户的用户名是中文时,点击首页的中文用户名或访问中文用户名的空间会出现 404错误信息
解决方案:
web.config改成
<configuration>
<system.webServer>
<rewrite>
        <rules>
                <rule name="portal_topic">
                        <match url="^(.*/)*topic-(.+).html\?*(.*)$" />
                        <action type="Rewrite" url="{R:1}/portal.php\?mod=topic&amp;topic={R:2}&amp;{R:3}" />
                </rule>
                <rule name="portal_article">
                        <match url="^(.*/)*article-(+)-(+).html\?*(.*)$" />
                        <action type="Rewrite" url="{R:1}/portal.php\?mod=view&amp;aid={R:2}&amp;page={R:3}&amp;{R:4}" />
                </rule>
                <rule name="forum_forumdisplay">
                        <match url="^(.*/)*forum-(\w+)-(+).html\?*(.*)$" />
                        <action type="Rewrite" url="{R:1}/forum.php\?mod=forumdisplay&amp;fid={R:2}&amp;page={R:3}&amp;{R:4}" />
                </rule>
                <rule name="forum_viewthread">
                        <match url="^(.*/)*thread-(+)-(+)-(+).html\?*(.*)$" />
                        <action type="Rewrite" url="{R:1}/forum.php\?mod=viewthread&amp;tid={R:2}&amp;extra=page%3D{R:4}&amp;page={R:3}&amp;{R:5}" />
                </rule>
                <rule name="group_group">
                        <match url="^(.*/)*group-(+)-(+).html\?*(.*)$" />
                        <action type="Rewrite" url="{R:1}/forum.php\?mod=group&amp;fid={R:2}&amp;page={R:3}&amp;{R:4}" />
                </rule>
                <rule name="home_space">
                        <match url="^(.*/)*space-(username|uid)-(.+).html\?*(.*)$" />
                        <action type="Rewrite" url="{R:1}/home.php\?mod=space&amp;{R:2}={R:3}&amp;{R:4}" />
                </rule>
                <rule name="home_blog">
                        <match url="^(.*/)*blog-(+)-(+).html\?*(.*)$" />
                        <action type="Rewrite" url="{R:1}/home.php\?mod=space&amp;uid={R:2}&amp;do=blog&amp;id={R:3}&amp;{R:4}" />
                </rule>
                <rule name="forum_archiver">
                        <match url="^(.*/)*(fid|tid)-(+).html\?*(.*)$" />
                        <action type="Rewrite" url="{R:1}/archiver/index.php\?action={R:2}&amp;value={R:3}&amp;{R:4}" />
                </rule>
        </rules>
</rewrite>
    <security>
      <requestFiltering allowDoubleEscaping="true"></requestFiltering>
    </security>
</system.webServer>
</configuration>


后台 全局 seo设置 Rewrite 兼容性 选 是 提交


更新缓存 问题解决


页: [1]
查看完整版本: 解决在IIS7.5下下Discuz X3.4中文用户名空间显示404解决方案