Перенаправляем весь сайт с помощью htaccess, но исключаем конкретные URL

Обновлено 30 апреля 2024

С помощью директивы RewriteRule в файле .htaccess можно перенаправить весь сайт, но исключить определенные каталоги и URL с помощью директивы RewriteCond. Ниже приведу пример того, как это можно сделать.

Во-первых, вам нужно включить mod_rewrite на вашем сервере. Это можно сделать, добавив следующую строку в файл .htaccess:

RewriteEngine On

Далее вы можете использовать директиву RewriteCond, чтобы исключить из перенаправления определенные каталоги или URL. Например, чтобы исключить каталог под названием «exclude» и файл под названием «exclude.html«:

RewriteCond %{REQUEST_URI} !^/exclude/ 
RewriteCond %{REQUEST_URI} !^/exclude.html$

Затем с помощью директивы RewriteRule перенаправьте весь сайт на новый URL. Например, чтобы перенаправить сайт на «https://www.newsite.com»:

RewriteRule ^(.*)$ https://www.newsite.com/$1 [L,R=301]

Наконец, объедините весь приведенный выше код в файле .htaccess следующим образом:

RewriteEngine On 
RewriteCond %{REQUEST_URI} !^/exclude/ 
RewriteCond %{REQUEST_URI} !^/exclude.html$ 
RewriteRule ^(.*)$ https://www.newsite.com/$1 [L,R=301]

Важно отметить, что приведенный выше код перенаправит весь сайт на новый URL, за исключением директории «exclude» и файла «exclude.html«. Вы можете добавить столько RewriteCond, сколько захотите, чтобы исключить больше директорий или файлов. Также не забудьте протестировать изменения, прежде чем применять их на рабочем сайте.

Опубликовано 24 февраля 2024
Категория: Статьи
Теги:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *