我想使用查询/?campaign=whatever
等强制重写所有网址。
我写了这样的东西(我不确定这是不是最好的方法):
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^?]*)\?
RewriteRule (.*) /$1? [R=301,L]
如何告诉apache不要只重写目录/admin/
?
此外,如果有人知道使用这种技术是否可能搞乱其他一些服务?我不需要分析活动等,人们只是将他们自己的愚蠢跟踪网址链接到我的博客,它绕过缓存但我目前无法更改缓存系统。
示例:
http://www.example.com/admin/
http://www.example.com/admin/pages.php?var=blabla
(anything after or /admin/) - ignore
否则 - 清理查询字符串。
答案 0 :(得分:1)
RewriteCond %{QUERY_STRING} .+
RewriteCond %{REQUEST_URI} !^/admin(?:/.*)?$
RewriteRule (.*) /$1? [R=301,L]
request URI
是否不以/admin/
开头。