北京网站制作公司,丰富的网站建设经验,为企业提供精品网站制作服务!
服务热线:

Apache配置文件中的MultiViews

启用MultiViews,客户端输入“http://localhost/demo…

问题:

在配置某个站点的.htaccess文件中的规则,如下:

RewriteRule ^member/([a-zA-Z0-9_]+)$                   /member\.php?module=$1   [QSA,L]

浏览器中访问一直获取不到module的值,百思不得其解。

通过打印$_SERVER变量,发现$_SERVER['REQUEST_URI']的值是/member.php/test,这就比较奇怪了,member路径成了文件。

解决:

既然$_SERVER有问题,就在Apache配置文件里面查找原因。

通过对比服务器正常配置文件,发现

<Directory  "e:/www/demo/">
        Options +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
</Directory>

多了+MultiViews(多重视图),去掉即可。

比如:客户端输入“http://localhost/demo/test”这将会显示此目录下所有 test.* 文件,并不是出错信息。

这也就是为什么我遇到的member路径成了member.php文件,因为当前文件夹中确实有这个文件存在,系统自动找到了这个文件。

至此,问题解决!

其它相关文章:
专业网站制作公司 — 安徽宝讯信息技术有限公司 © 版权所有
京ICP备09005099号-7

在线
客服

在线客服服务时间:9:00-20:00

选择下列客服马上在线沟通:

客服
热线

133 9152 9507
7*24小时客服服务热线

关注
微信

官方微信
顶部