删除重定向时附加的查询参数

时间:2018-02-16 18:09:55

标签: .htaccess redirect http-redirect

我有WordPress .htaccess文件,这就是它的外观。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# the following three lines will work for all subdomains
RewriteCond %{HTTP_HOST} !^example\.net$ [NC]
RewriteCond %{HTTP_HOST} !^www\.example\.net$ [NC]
RewriteRule . "http://www.example.net/" [R=301,L]

# the following two lines will redirect non-www to www version of the domain
RewriteCond %{HTTP_HOST} ^example\.net
RewriteRule ^(.*)$ "http://www.example.net/$1" [R=301,L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# Wordfence WAF

<Files ".user.ini">
<IfModule mod_authz_core.c>
    Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
    Order deny,allow
    Deny from all
</IfModule>
</Files>

# END Wordfence WAF

我想将子域名重定向到主域名。

问题是如果我点击,subdomain.example.net/anystring它成功地重定向到example.net

但是,如果我点击,subdomain.example.net/anystring?anytext它会成功重定向到example.net?anytext

所以此处附加了?anytext,我需要删除附加到subdomain.example.net

的所有内容

我尝试过几件事,但没有成功。

我会请求你的帮助。

1 个答案:

答案 0 :(得分:1)

添加?以防止将查询字符串附加到替换网址,因此请在代码中更改这两行:

RewriteRule . "http://www.example.net/" [R=301,L]

由此:

RewriteRule . "http://www.example.net/?" [R=301,L]

和这一行:

RewriteRule ^(.*)$ "http://www.example.net/$1" [R=301,L]

由此:

RewriteRule ^(.*)$ "http://www.example.net/$1?" [R=301,L]