如何在没有参数的情况下将WordPress URL重定向到基本URL



我们正在尝试将URL重定向到http://example.com/gtsdsds8yz/x3idsdssq.php?wtb=hgtvsdsd-m3uTohttp://example.com

为此,我们使用如下.htaccess

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^wtb=hgtvsdsd-m3u$ [NC]
RewriteCond %{HTTP_HOST} .*
RewriteRule ^gtsdsds8yz/x3idsdssq.php https://example.com [L,R=301]
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
>
RewriteCond %{QUERY_STRING} ^wtb=hgtvsdsd-m3u$ [NC]
RewriteCond %{HTTP_HOST} .*
RewriteRule ^gtsdsds8yz/x3idsdssq.php https://example.com [L,R=301]

这应该重定向到根目录,但是,它不会剥离 URL 参数,我认为这是您的问题?但请注意,您严格缺少替换字符串上主机名后面的尾部斜杠(浏览器需要更正此问题(。

若要删除查询字符串,需要QSD(查询字符串丢弃(标志 (Apache 2.4+(。或者,如果您仍在使用 Apache 2.2,请将?附加到替换字符串的末尾。

例如:

RewriteCond %{QUERY_STRING} ^wtb=hgtvsdsd-m3u$ [NC]
RewriteRule ^gtsdsds8yz/x3idsdssq.php https://example.com/ [L,R=301,QSD]

请注意,这应该放在所有WordPress指令之前,位于.htaccess文件的顶部。

在测试之前,您需要清除浏览器缓存。

RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

您还将HTTP到HTTPS重定向放在了错误的位置。这也需要在文件的开头 - 在WordPress前端控制器之前,因为它根本不会重定向您的WP URL。

最新更新