我对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/
或其他当前存在的其他文件名,以消除此冲突。