我需要将所有像https://domain.com/?p=download&a=111146&b=98b307bc6f1fe4b9682b2740980c4afb这样的链接重定向到domain.com/some/page
"p=download“始终是常量。我尝试过以下几种方法,但都没有成功:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^p=download$
RewriteRule (.*) https://domain.com/customer-service/downloads-moved/ [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress有人能指出我做错了什么吗?
发布于 2016-09-01 22:17:53
如果您想要将下载页面上的用户重定向到另一个下载页面,您的.htaccess现在就在。
但是,如果您想使用params重定向到另一个页面,请在当前条件后添加一个新条件。
RewriteCond %{QUERY_STRING} ^p=download(.*)
RewriteRule (.*) https://domain.com/some/page/$1 [R=301,L]这
https://domain.com/?p=download&a=111146&b=98b307bc6f1fe4b9682b2740980c4afb会将您重定向到
http://www.domain.com/some/page/?p=download&a=111146&b=98b307bc6f1fe4b9682b2740980c4afb您当前的代码是:
RewriteCond %{QUERY_STRING} ^p=download$
RewriteRule (.*) https://domain.com/customer-service/downloads-moved/ [R=301,L]什么将重定向
https://domain.com/?p=download 至
https://domain.com/customer-service/downloads-moved/更新
基于OP评论:
好的,问题是你写了这个:,因为你的^和$,它意味着它应该和p=download字符串完全匹配。
因此,如果您想重定向所有请求,在QUERY_STRING开头包含p=download的内容,那么结合我的两个建议:
RewriteCond %{QUERY_STRING} ^p=download(.*)
RewriteRule (.*) https://domain.com/customer-service/downloads-moved/ [R=301,L]这意味着以这个字符串^p=download开头的所有内容(这个字符串之后可能没有任何东西)将被重定向到您在RewirteRule中给出的url
https://stackoverflow.com/questions/39273857
复制相似问题