使用.htaccess,我试图找出如何将任何请求重定向到我的网站基本URL /域,但允许任何带有查询字符串的请求,如果可能,只允许特定的前置查询字符串。例如:
.htaccess
/
blog.example.com/
/?anything
=
如果任何人都能描述所有页面将如何重定向,除非只包含某些查询字符串,则会得到加分。
pxiryf3j1#
您可以使用此重写规则:
RewriteEngine on RewriteCond %{QUERY_STRING} ^$ RewriteRule ^/?$ https://blog.example.com/ [R=301,L]
%{QUERY_STRING} ^$
如果要重定向除特定查询字符串之外的所有内容,可以使用一个非常类似的规则。
RewriteEngine on RewriteCond %{QUERY_STRING} !^foo=bar$ RewriteRule ^/?$ https://blog.example.com/ [R=301,L]
不管你有多少重写规则,你只需要在你的.htaccess中有一个RewriteEngine on的示例。
RewriteEngine on
1条答案
按热度按时间pxiryf3j1#
您可以使用此重写规则:
%{QUERY_STRING} ^$
的条件确保查询字符串为空(以符号开头,后跟以符号结尾)。如果要重定向除特定查询字符串之外的所有内容,可以使用一个非常类似的规则。
不管你有多少重写规则,你只需要在你的
.htaccess
中有一个RewriteEngine on
的示例。