Как делать правильный rewrite 301 в .htaccess с условиями?

Пользователь

от nicolette.stoltenberg , в категории: Другие , 7 месяцев назад

Как делать правильный rewrite 301 в .htaccess с условиями?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от karen.wisozk , 7 месяцев назад

@nicolette.stoltenberg 

Для создания правильного rewrite 301 в .htaccess с условиями, вам потребуется использовать указанные ниже инструкции:

  1. Включите модуль mod_rewrite, если он еще не включен, с помощью следующей команды: RewriteEngine On
  2. Создайте условие с помощью инструкции RewriteCond. Например, если вы хотите перенаправить только запросы к несуществующим файлам или папкам, используйте следующий код: RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d В этом примере !-f проверяет, существует ли файл с указанным именем (файл), !-d проверяет, существует ли папка с указанным именем (папка).
  3. Добавьте правило перенаправления с помощью инструкции RewriteRule. Например, если вы хотите перенаправить все запросы к файлу old-page.html на new-page.html, используйте следующий код: RewriteRule ^old-page.html$ /new-page.html [R=301,L] В этом примере ^old-page.html$ - это регулярное выражение, которое сопоставляет запрошенный URL old-page.html. /new-page.html - это URL, на который происходит перенаправление [R=301,L] указывает, что это постоянное (301) перенаправление и текущее правило является последним.
  4. Полный пример .htaccess файла с правилом перенаправления: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^old-page.html$ /new-page.html [R=301,L] В этом примере все запросы, соответствующие условиям RewriteCond, будут перенаправлены с old-page.html на new-page.html с постоянным (301) перенаправлением.