繁体   English   中英

服务器上的Mod_Rewrite规则被忽略

[英]Mod_Rewrite rule ignored on Server

我在.htaccess文件中得到以下RewriteRule:

RewriteRule ^([a-z]+)/(.*)$ distributor.php?file=$1&params=$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&params=$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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM