解决在IIS7下无法访问Discuz X3.4中文用户名空间

博主:jhchinajhchina 2023-05-12 242 0条评论
摘要: 对于Discuz! X3论坛,很多用户开启伪静态并且当用户的用户名是中文时,点击首页的中文用户名或访问中文用户名的空间会出现“404错误信息(后台的Rewrite兼容性选[是])”...

对于Discuz! X3论坛,很多用户开启伪静态并且当用户的用户名是中文时,点击首页的中文用户名或访问中文用户名的空间会出现“404错误信息(后台的Rewrite兼容性选[是])”或“指定用户空间不存在(后台的Rewrite兼容性选[否])”,而且浏览器上的地址栏显示一大串像乱码一样的字符,如:http://www.xmspace.net/space-username-Mr%25C3%25E6%25BE%25DF000.html

主要原因: 当对url中的非英文字符进行了2次转码(encode),IIS7为了安全,会自动拦截。

具体解决方法:您需要在网站根目录下的web.config文件中< system.webServer>下面加以下代码:

<security>

      <requestFiltering allowDoubleEscaping="true"></requestFiltering>

</security>

保存后应该就可以了。