【发布时间】:2013-06-14 01:30:21
【问题描述】:
我在使用 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]
【问题讨论】:
-
您的生产服务器的 Apache 配置是否允许通过 htacess 覆盖?
-
RewriteRule可以创建漂亮的 url,如果这就是你所指的。否则我不确定(我可以问)。httpd.conf中是否有可能禁用此类功能的特定设置?因为我可以在本地服务器上禁用它来测试它。 -
重写规则不会创建漂亮的 URL,它们只是将漂亮的 URL 重定向到适当的脚本。因此,如果您有一个指向漂亮 URL 的 GET,但漂亮 URL 没有被正确重定向,那么您将无法正确传递数据。当您说这在测试环境中有效但在生产环境中无效时,我的第一个倾向是查看 Web 服务器配置。
标签: php html .htaccess friendly-url pretty-urls