htaccess查询基于字符串的重写规则

时间:2014-05-15 11:50:44

标签: apache .htaccess mod-rewrite url-rewriting

服务器软件的最新更改导致基于标记的搜索返回内部服务器错误。我想通过使用基于查询字符串包含tag = reference的条件的重写规则来纠正这个问题。重写规则将获取包含tag=字符串的任何URL并重写它以删除子目录。以下是示例:

传入网址: http://www.example.com/subdirectory/?tag=sometag

产生的网址: http://www.example.com/?tag=sometag

我猜我的重写条件应该是:

RewriteCond %{QUERY_STRING} tag=* $ 

重写规则应该是这样的:

RewriteRule ^subdirectory / [R=301,L]

这适用于htaccess测试工具,但在我的服务器上返回内部服务器错误。我假设我在条件或规则上犯了错误。

1 个答案:

答案 0 :(得分:0)

内部错误正在发生,因为您在tag=*之后和$之前有空格

更改

RewriteCond %{QUERY_STRING} tag=.* $ 

RewriteCond %{QUERY_STRING} tag=.*$ 

应修正该错误