Jac*_*cco 2 mod-rewrite apache-2.2
完整的 .htaccess 文件
RewriteEngine on
RewriteBase /
RewriteRule ^([a-z0-9_\-]+)/([a-z0-9_\-]+)/(index\.php)?$ /main.php?type=$1&action=$2 [NC,QSA,L]
Run Code Online (Sandbox Code Playgroud)
所以,
www.server.com/users/new/
Run Code Online (Sandbox Code Playgroud)
重定向到:
www.server.com/main.php?type=users&action=new
Run Code Online (Sandbox Code Playgroud)
该规则在我的测试机器上运行良好。
但是,
在另一台机器上,如果存在以相同名称开头的文件,则会失败:
/
|- main.php
|
+--[users]
|- new.inc.js
Run Code Online (Sandbox Code Playgroud)
请求
www.server.com/users/list/ --> 200 OK (main.php returns results as expected)
www.server.com/users/new/ --> 404 Not Found
Run Code Online (Sandbox Code Playgroud)
如果我删除“new.inc.js”,请求将按预期重定向。
什么配置标志导致这种行为?
(我的头撞墙已经有一段时间了)
更新
(我添加了完整的 .htaccess 文件内容)
index.html并且index.php是目录索引
(这对我来说也没有意义:()
你mod_negotiation安装了吗?如果是这样,那将接受您的新请求,并尝试确定您真正要发送的文件。确保你没有Options MultiViews设置。所以,在.htaccessput 中Options -MultiViews。
| 归档时间: |
|
| 查看次数: |
1581 次 |
| 最近记录: |