htaccess - 不会识别网址格式

时间:2015-03-06 04:14:53

标签: php .htaccess

我已经在在线测试人员中测试了以下模式,并且每个人都能正常工作。此外,规则适用于其他类似的迭代没有问题。

RewriteCond %{REQUEST_URI} !404 [NC]
RewriteRule ^manager/services/([\w\-]+) manager/services/controller.php?PAGE=$1 [QSA,L,R=302]

对于REQUEST URI(无法将URL atm设为仍然不安全):

/manager/services/get-items

但是这条规则引发了404错误。控制器绝对存在,我可以手动访问它没有问题..

我能想到的唯一另一种可能性是与目录级别htaccess的某种交互,它只是作为允许,拒绝我的IP地址设置但没有重定向。

2 个答案:

答案 0 :(得分:1)

将它放在root中的htaccess中并尝试一下。

Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^manager/services/([^/]+)/? /manager/services/controller.php?PAGE=$1 [QSA,L]

我假设你已经启用了htaccess,因为你说你有其他内容,但要确保它在Apache配置中设置为AllowOverride All

编辑:

或者您可以尝试将代码添加到manager文件夹htaccess文件中。

RewriteEngine On
RewriteBase /manager/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^services/([^/]+)/? services/controller.php?PAGE=$1 [QSA,L]

答案 1 :(得分:0)

对于后人,我在GoDaddy服务器上的Web根目录中有一个名为“services”的目录。有些东西正在混乱,导致与该文件夹相关的任何错误混合了404和500。

将文件夹重命名为web_services解决了这个问题。