我试图从根域重定向到一个子域,如example.com和www.example.com重定向到blog.example.com。我想保留路径,但删除查询字符串。例如。example.com/abc-def/(www和非www版本)重定向到blog.example.com/abc-def/
。但是,example.com/abc-def/?p=219
必须重定向到blog.example.com/abc-def/
我的意思是我想转发整个域名到子域名,但不需要转发url中的查询字符串。只保留url路径,并删除url末尾的任何查询字符串。我必须在.htaccess文件中添加什么规则才能实现这一点?请让我知道。
我找不到正确的规则。请帮助我设置正确的重定向。如果我尝试删除查询字符串,它将只重定向到主页。下面是我从.htaccess文件中尝试的重定向规则:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^/?$ https://blog.example.com/ [R=301,L]
但它没有任何效果。
1条答案
按热度按时间idfiyjo81#
您可以在
example.com
的站点root .htaccess中使用此重定向规则:请注意,目标中的
%{REQUEST_URI}
将保留与目标中原始URL相同的URI路径,但是之后的?
将丢弃任何预先存在的查询字符串。确保在新浏览器中或通过命令行curl测试此更改。