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

Опубликовано 24 февраля 2024 в 17:11

Время чтения: 1 мин

С помощью директивы 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, сколько захотите, чтобы исключить больше директорий или файлов. Также не забудьте протестировать изменения, прежде чем применять их на рабочем сайте.

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.