Apache htaccess基于查询字符串的重写规则
服务器软件中最近的更改导致基于标记的搜索返回内部服务器错误。我想通过使用基于查询字符串包含tag=reference的条件的重写规则来纠正这个问题。重写规则将获取包含Apache htaccess基于查询字符串的重写规则,apache,.htaccess,mod-rewrite,url-rewriting,Apache,.htaccess,Mod Rewrite,Url Rewriting,服务器软件中最近的更改导致基于标记的搜索返回内部服务器错误。我想通过使用基于查询字符串包含tag=reference的条件的重写规则来纠正这个问题。重写规则将获取包含标记=字符串的任何url,并将其重写以删除子目录。以下是一些例子: 传入URL: 结果URL: 我猜我的重写条件应该是: RewriteCond %{QUERY_STRING} tag=* $ 重写规则应该是这样的: RewriteRule ^subdirectory / [R=301,L] 这在htaccess测试工具中
标记=
字符串的任何url,并将其重写以删除子目录。以下是一些例子:
传入URL:
结果URL:
我猜我的重写条件应该是:
RewriteCond %{QUERY_STRING} tag=* $
重写规则应该是这样的:
RewriteRule ^subdirectory / [R=301,L]
这在htaccess测试工具中起作用,但在我的服务器上返回一个内部服务器错误。我假设我在条件或规则中出错。发生内部错误是因为在
标记=*
之后和$
之前有空格
改变
RewriteCond %{QUERY_STRING} tag=.* $
到
应该修复该错误是。成功了。谢谢。没问题,请随意回答正确的问题,以便与您有相同问题的其他用户知道您是如何解决问题的。
RewriteCond %{QUERY_STRING} tag=.*$