服务器软件的最新更改导致基于标记的搜索返回内部服务器错误。我想通过使用基于查询字符串包含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测试工具,但在我的服务器上返回内部服务器错误。我假设我在条件或规则上犯了错误。
答案 0 :(得分:0)
内部错误正在发生,因为您在tag=*
之后和$
之前有空格
更改
RewriteCond %{QUERY_STRING} tag=.* $
到
RewriteCond %{QUERY_STRING} tag=.*$
应修正该错误