Как перенаправить WordPress URL на базовый URL без параметра - PullRequest
0 голосов
/ 21 января 2020

Мы пытаемся перенаправить URL, например http://example.com/gtsdsds8yz/x3idsdssq.php?wtb=hgtvsdsd-m3u На 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]

1 Ответ

0 голосов
/ 21 января 2020
RewriteCond %{QUERY_STRING} ^wtb=hgtvsdsd-m3u$ [NC]
RewriteCond %{HTTP_HOST} .*
RewriteRule ^gtsdsds8yz/x3idsdssq\.php https://example.com [L,R=301]

Это должно перенаправить на root, однако, оно не будет удалять параметры URL, что, я полагаю, является вашей проблемой? Но обратите внимание, что вы строго пропускаете завершающий sla sh после имени хоста в строке подстановки (браузер должен исправить это).

Чтобы удалить строку запроса, вам нужно Флаг QSD (Query String Discard) (Apache 2.4+). Или, если вы все еще используете Apache 2.2, добавьте ? в конец строки замены .

Например:

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

Обратите внимание, что это должно go перед всеми директивами WordPress, в верхней части файла .htaccess.

Перед тестированием вам необходимо очистить кеш браузера.

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

Вы также разместили перенаправление HTTP на HTTPS не в том месте. Это также необходимо go в начале файла - перед фронт-контроллером WordPress, поскольку он просто не будет перенаправлять ваши URL-адреса WP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...