HTACCESS rewriterrule -不发送来自漂亮URL的查询字符串


HTACCESS RewriteRule - Not sending query string from Pretty URL

我对RewriteRule有麻烦。我已经创建了一个漂亮的URL为我的搜索页面,它张贴到自己查询结果。但是,$_GET['type']变量没有被发送到该页。这在我的本地WAMP服务器上工作得很好,但在我的Live托管服务器上没有返回结果。

。"http://..com/search/searchType/搜索类型"为发送到页面的$_GET['type']数据。

我的.HTACCESS如下

RewriteEngine On
RewriteRule ^property/(.*)/(.*)/([0-9]+)/$ view_property.php?type=$1&id=$3 [L]
RewriteRule ^search/(.*)/ search.php?type=$1 [L]

问题是因为与文件名search.php有冲突,它打破了以文本'search'开头的RewriteRule

在发现这一点并做了更多的研究后,我发现包括Options -MultiViews禁用mod_negotiation MultiViews

这必须在我的Live主机服务器上启用并在我的本地主机上禁用。我会尽快查明并更新。

另一个修复方法是将RewriteRule URL重命名为^search/或其他当前存在的其他文件名,以消除此冲突。