Редиректы для Modx

24 Декабря 2019 13:39

Готовое решение для modx по принципу - https, без www, ЧПУ. Этот вариант предусмотрен для хостинга на базе nginx + apache

1. Включаем редиректы и прописываем директиву для сохранения ЧПУ

RewriteEngine On
RewriteBase /
RewriteCond %{ENV:REDIRECT_STATUS} !^$
RewriteRule .* - [L]

2. Далее прописываем редирект с www на без www

RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

Если нужно наоборот - на www то вместо предыдущего прописываем следуюющее:

RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} (.+)$
RewriteRule ^(.*)$ https://www.%1/$1 [R=301,L] .

3. Далее прописываем редирект с http на https

RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

4. Прописываем редирект для ЧПУ

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]