我一直在使用重写规则,但这很奇怪。
该网站托管在dev.domain.com上,htaccess代码为
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteRule ^order/([^/]+) order.php?id=$1 [QSA]
...
然而,当我去http://dev.domain.com/order/4 $ _GET没有被传递时,之前从未遇到过这种问题。
答案 0 :(得分:0)
检查AllowOverride
是否限制您。例如,如果它设置为None
- 这将完全禁用整个.htaccess支持,而Apache根本不会在磁盘上查找.htaccess文件。
检查是否已启用MultiViews
。众所周知,这会与mod_rewrite一起产生意外结果。
在规则中添加“L”标志 - [L,QSA]
以停止该点的规则执行。也许你有其他规则,你没有在这里发布,这会影响行为。
答案 1 :(得分:0)
问题是Nginx根本不支持.htaccess,必须按照自己的方式去做..