Перенаправить URL WordPress с помощью htaccess

#wordpress #.htaccess #mod-rewrite #rewrite

#wordpress #.htaccess #мод-переписать #переписывание URL

Вопрос:

Я пытаюсь перенаправить определенный URL (на самом деле у меня их несколько сотен) на другой URL с помощью следующего кода, но это не работает. htaccess находится в моем корневом каталоге WordPress, где находятся файлы wp-контента и т.д. Что я делаю не так?

 # BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Options  FollowSymLinks
RewriteEngine On

Redirect http://lifeandhealth.org/qr/049ow34gh9klhg3uqrf2   http://lifeandhealth.org/?p=58
  

Комментарии:

1. mod_alias Установлен ли и включен ли он у вас на сервере? httpd.apache.org/docs/2.2/mod/mod_alias.html

Ответ №1:

  1. Обычно строки перенаправления помещаются над вызовами WordPress htaccess ( #BEGIN WordPress ).
  2. Если это не сработает, я не уверен, сработает ли это, но постарайтесь быть как можно более явным.

    Redirect 301 /qr/049ow34gh9klhg3uqrf2
    http://lifeandhealth.org/?p=58

    Измените 301 на 302, если перенаправление временное.

Это не совсем специфичная для WordPress функциональность, так что смотрите, это хороший ресурс для более продвинутых перенаправлений.

Если это не сработает, дайте мне знать в комментариях, и я попытаюсь обновить другое (предпринятое) решение 🙂

Некоторые другие вещи, которые следует иметь в виду

  1. Если это не сработает, попробуйте перенаправить весь каталог с помощью «/» в конце URL-адресов (делайте это, только если вас это устраивает, помните, что у него другая функциональность)
  2. Убедитесь, что в верхней части файла .htaccess нет пустых строк
  3. (больше похоже на «PS:») Это не решение и не оптимально для большого количества перенаправлений, но этот плагин WordPress фантастический.

Ответ №2:

Две настройки:

 RewriteEngine On
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^() index.php [L]
  
  • Удалить базу перезаписи
  • Удалите / перед index