[英]Mod_Rewrite rule ignored on Server
我在.htaccess
文件中得到以下RewriteRule:
RewriteRule ^([a-z]+)/(.*)$ distributor.php?file=$1¶ms=$2 [L]
如果我通过Xampp在本地系统上请求例如“ www.domain.local/index/id/123
”,则此方法非常有效。 它请求distributor.php(它执行一个简单的var_dump($_GET);
)并产生预期的输出:
array
'file' => string 'index' (length=5)
'params' => string 'id/123' (length=6)
将这些文件上传到服务器时,该规则不适用。 浏览器仅输出DirectoryIndex文件。
经过数小时的尝试后,我感到困惑,感谢您提供的任何帮助
谢谢
更新:
如果我用破折号代替斜线并使用以下规则:
RewriteRule ^([a-z]+)-(.*)$ distributor.php?file=$1¶ms=$2 [L]
整个事情在我的本地系统和服务器上均有效。
我还需要更改以在服务器上使用斜杠吗?
找到您的apache配置文件,然后添加以下行:
<Directory /path/to/your/web/application>
Options Indexes FollowSymlinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>
然后,如果以下行不存在,则将其写入:
AccessFileName .htaccess
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.