Универсальный редирект с WWW на не WWW
Options +FollowSymLinks #RewriteEngine on (Если до этого по коду не включено) RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Редирект на HTTPS (SSL)
#RewriteEngine on (Если до этого по коду не включено) RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^(.*)$ https://SITE-NAME.ru/$1 [R=301,L]
#RewriteEngine on (Если до этого по коду не включено) RewriteCond %{ENV:HTTPS} !on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Редирект с HTTPS на HTTP
#RewriteEngine on (Если до этого по коду не включено) RewriteCond %{HTTPS} on RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Простой 301 редирект
#RewriteEngine on (Если до этого по коду не включено) RewriteRule ^zashhita-avtomobilya.html /okleyka-avtomobilya.html [R=301,L]
Редирект с одного домена на другой
#RewriteEngine on (Если до этого по коду не включено) RewriteCond %{HTTP_HOST} ^site1.ru RewriteRule ^(.*)$ http://site2.ru/$1 [R=permanent,L]
Удалить index.php везде, в том числе из директорий
#RewriteEngine on (Если до этого по коду не включено) RewriteCond %{THE_REQUEST} ^.*/index.php RewriteRule ^(.*)index.php $1 [R=301,L]
Редирект с index.php и index.html
#RewriteEngine on (Если до этого по коду не включено) RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ https://SITE-NAME.ru/ [R=301,L] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/ RewriteRule ^index\.html$ https://SITE-NAME.ru/ [R=301,L]
Редирект на нижный регистр
# force url to lowercase if upper case is found RewriteCond %{REQUEST_URI} [A-Z] # ensure it is not a file on the drive first RewriteCond %{REQUEST_FILENAME} !-s RewriteRule (.*) rewrite-strtolower.php?rewrite-strtolower-url=$1 [QSA,L] //файл rewrite-strtolower.php if(isset($_GET['rewrite-strtolower-url'])) { $url = $_GET['rewrite-strtolower-url']; unset($_GET['rewrite-strtolower-url']); $params = http_build_query($_GET); if(strlen($params)) { $params = '?' . $params; } header('Location: http://' . $_SERVER['HTTP_HOST'] . '/' . strtolower($url) . $params, true, 301); exit; } header("HTTP/1.0 404 Not Found"); die('Unable to convert the URL to lowercase. You must supply a URL to work upon.');
Удалить слеш в конце адреса
#Со слешом на без слеша RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} ^(.+)/$ RewriteRule ^(.+)/$ /$1 [R=301,L]
Добавить слеш в конце
RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*[^/])$ $1/ [L,R=301]
Плагин для избавления от двойного слеша (MODX Revo)
Взято отсюда - https://proverstka.com.ua/
switch ($modx->event->name){ case 'OnWebPageInit': if (stristr($_SERVER['REQUEST_URI'], '//')){ $g = preg_replace("|[//\s]+|is", "/", $_SERVER['REQUEST_URI']); $modx->sendRedirect($g); } break; }
Комментарии (0)
Не писать ответ