Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖

[教程] ISAPI_Rewrite 3.x Url 编码问题——Discuz! URL 静态化“您指定的用户空间不存在”

[复制链接]
yanzi315 发表于 2011-8-22 15:19:41 | 显示全部楼层
易网知识库 >>所属分类 >> Discuz   
IIS7下伪静态无法访问discuz X2.0中文用户名空间 编辑词条 发表评论(0)
本文将解决在IIS7下无法访问Discuz X2.0中文用户名空间

  易网库服务器的操作系统是Windows Server 2008,自带IIS7,支持伪静态,只需要在网站根目录下创建一个web.config文件并把伪静态规则代码放入其中就可以了。

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

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

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

<security>
   <requestFiltering allowDoubleEscaping="true" />
</security>
保存后应该就可以了。

请注意:更改此设置,会降低网站本身的安全性,为恶意攻击者增加便利!
这个也是一种解决办法
备注:服务器环境:windows2008 下自带的IIs7 ,iis7自带的重写
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-16 17:48 , Processed in 0.021982 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表