首页 文章

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

提问于
浏览
0

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

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

生成的URL:http://www.example.com/?tag=sometag

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

RewriteCond %{QUERY_STRING} tag=* $

并且重写规则应该是这样的:

RewriteRule ^subdirectory / [R=301,L]

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

1 回答

  • 0

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

    更改

    RewriteCond %{QUERY_STRING} tag=.* $
    

    RewriteCond %{QUERY_STRING} tag=.*$
    

    应该修复那个错误

相关问题