0

我在使用RewriteRule. 我为我的搜索页面创建了一个漂亮的 URL,它会在其中发布到自身以查询结果。但是,$_GET['type']变量没有被发送到页面。这在我的本地 WAMP 服务器上运行良好,但在我的 Live 托管服务器上没有返回结果。

例如http://..com/search/searchType/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]
4

1 回答 1

1

问题是因为文件名有冲突search.php,它破坏了RewriteRule以文本“搜索”开头的文件名。

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

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

另一个解决方法是将RewriteRuleURL重命名为^search/其他名称或当前作为另一个文件存在的任何其他名称,以消除此冲突。

于 2013-06-19T09:57:36.807 回答