解决在IIS7下无法访问Discuz X3.4中文用户名空间
摘要:
对于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>
保存后应该就可以了。