.htaccess 重写规则不想工作



我已经使用重写规则一段时间了,但这很奇怪。

该网站托管在 dev.domain.com,HTaccess代码是

Options +FollowSymlinks
RewriteEngine On
RewriteBase /

RewriteRule ^order/([^/]+) order.php?id=$1 [QSA]
...

但是,当我去 http://dev.domain.com/order/4 时,_GET美元没有通过,以前从未遇到过这种问题。

  1. 检查AllowOverride是否没有限制您。例如,如果它设置为 None - 这将完全禁用整个 .htaccess 支持,并且 Apache 根本不会在磁盘上查找 .htaccess 文件。

  2. 检查是否启用了MultiViews。众所周知,这会与mod_rewrite一起产生意想不到的结果。

  3. 将"L"标志添加到规则 - [L,QSA]此时停止规则执行。也许您还有其他规则没有在这里发布,这些规则会影响行为。

问题是Nginx根本不支持.htaccess,必须按照自己的方式去做。

最新更新