繁体   English   中英

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

[英]How to redirect WordPress URL to base url without parameter

我们正在尝试将http://example.com/gtsdsds8yz/x3idsdssq.php?wtb=hgtvsdsd-m3u之类的 URL 重定向到http://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]

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM