Редирект с исключением папки в 1С Битрикс

Редирект с исключением папки в 1С Битрикс

04.02.2023
323
1С Битрикс - это популярная платформа для создания сайтов и интернет-магазинов. Иногда возникает необходимость настроить редиректы с одних страниц на другие, например, при изменении адреса страницы или при переезде на новый домен. В этом случае, .htaccess - это идеальное место для настройки редиректов на сервере.

Что такое .htaccess

.htaccess - это файл конфигурации веб-сервера Apache, который позволяет настраивать множество параметров сервера, включая редиректы и защиту от неавторизованного доступа. Он располагается в корневой директории сайта и может содержать множество правил.

Редирект с исключением папки

Для того чтобы настроить редирект с исключением папки, нужно использовать условие RewriteCond. Это условие позволяет применить правило редиректа только к определенным страницам или папкам.

Например, предположим, что у нас есть сайт, на котором мы хотим настроить редирект со страницы example.com/old-page на страницу example.com/new-page, но при этом исключить папку /images/ и все ее содержимое. Для этого нужно использовать следующий код:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/images/
RewriteRule ^old-page$ /new-page [R=301,L]

Этот код означает, что если запрашиваемый URL не начинается с /images/, то будет применяться правило редиректа с /old-page на /new-page. При этом, если пользователь попытается зайти на страницу внутри папки /images/, он останется на этой странице без редиректа.

Пример: Редирект со всех страниц на одну

Иногда бывает нужно перенаправить пользователей, запрашивающих любую страницу сайта, на одну определенную страницу. Для этого нужно использовать следующий код:

RewriteEngine On
RewriteRule ^(.*)$ /new-page [R=301,L]

Этот код перенаправит всех пользователей, запрашивающих любую страницу сайта, на страницу /new-page.

Пример: Редирект со старого домена на новый

Если вы переехали на новый домен и хотите перенаправить пользователей со старого домена на новый, можно использовать следующий код:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^old-domain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.old-domain.com$
RewriteRule (.*)$ http://new-domain.com/$1 [R=301,L]

Этот код перенаправит всех пользователей, переходящих на сайт с домена old-domain.com или www.old-domain.com, на сайт с новым доменом new-domain.com.

Заключение

.htaccess - это мощный инструмент для настройки сервера Apache и для настройки редиректов на сайте. Правильно настроенные редиректы помогут улучшить SEO-показатели сайта и улучшить пользовательский опыт. Не забывайте описывать условия для правил редиректа, чтобы избежать нежелательных перенаправлений.