Настройка редиректа во внутренних страницах сайта.
Страницы: 1
Настройка редиректа во внутренних страницах сайта.
Всем доброго времени суток, ув. форумчане. Кто сможет объяснить как правильно настроить редирект во внутренних страницах сайта? Существует проблема на русскоязычном домене (статистический сайт). Адресная строка оказалась чувствительна к регистру, как бы сделать чтобы на страницу введенную капсом, происходил редирект на необходимую страницу? объясню на примере:
есть страница: 
стеклоизеркало.рф/zerkala.html
но, если мы введем капсом, то на данную страницу мы уже не попадем:
СТЕКЛОИЗЕРКАЛО.РФ/ZERKALA.HTML

Нашел только такое решение, вписывать на каждую страницу отдельную строку:
Redirect 301 /ZERKALA.HTML https://мойсайт/zerkala.html
Но это будет достаточно громоздко, но и проблема с РаЗлИчНыМ регистром также не будет решена... 

Соответственно на сайте около 10-15 страниц, нужно грамотно указать условия редиректа при различном регистре, я так понимаю, вписывать все нужно в .htaccess - но можно там либо все страницы расписывать, или написать пару строк и готово? Кто шарит?)
Изменено: Аркадий Мамонтов - 11 Ноября 2016 23:44
Можно решить через PHP (index.php сразу после <?php или <?)

Код
if ( $_SERVER['REQUEST_URI'] != strtolower( $_SERVER['REQUEST_URI']) ) {
    header('Location: http://'.$_SERVER['HTTP_HOST'] . 
      strtolower($_SERVER['REQUEST_URI']), true, 301);
    exit();
}

Или через .htaccess


Код
RewriteEngine On
RewriteBase /

# If there are caps, set HASCAPS to true and skip next rule
RewriteRule [A-Z] - [E=HASCAPS:TRUE,S=1]

# Skip this entire section if no uppercase letters in requested URL
RewriteRule ![A-Z] - [S=28]

# Replace single occurance of CAP with cap, then process next Rule.
RewriteRule ^([^A]*)A(.*)$ $1a$2
RewriteRule ^([^B]*)B(.*)$ $1b$2
RewriteRule ^([^C]*)C(.*)$ $1c$2
RewriteRule ^([^D]*)D(.*)$ $1d$2
RewriteRule ^([^E]*)E(.*)$ $1e$2
RewriteRule ^([^F]*)F(.*)$ $1f$2
RewriteRule ^([^G]*)G(.*)$ $1g$2
RewriteRule ^([^H]*)H(.*)$ $1h$2
RewriteRule ^([^I]*)I(.*)$ $1i$2
RewriteRule ^([^J]*)J(.*)$ $1j$2
RewriteRule ^([^K]*)K(.*)$ $1k$2
RewriteRule ^([^L]*)L(.*)$ $1l$2
RewriteRule ^([^M]*)M(.*)$ $1m$2
RewriteRule ^([^N]*)N(.*)$ $1n$2
RewriteRule ^([^O]*)O(.*)$ $1o$2
RewriteRule ^([^P]*)P(.*)$ $1p$2
RewriteRule ^([^Q]*)Q(.*)$ $1q$2
RewriteRule ^([^R]*)R(.*)$ $1r$2
RewriteRule ^([^S]*)S(.*)$ $1s$2
RewriteRule ^([^T]*)T(.*)$ $1t$2
RewriteRule ^([^U]*)U(.*)$ $1u$2
RewriteRule ^([^V]*)V(.*)$ $1v$2
RewriteRule ^([^W]*)W(.*)$ $1w$2
RewriteRule ^([^X]*)X(.*)$ $1x$2
RewriteRule ^([^Y]*)Y(.*)$ $1y$2
RewriteRule ^([^Z]*)Z(.*)$ $1z$2

# If there are any uppercase letters, restart at very first RewriteRule in file.
RewriteRule [A-Z] - [N]

RewriteCond %{ENV:HASCAPS} TRUE
RewriteRule ^/?(.*) /$1 [R=301,L]
В сети есть довольно много способов, копирую один из:

Цитата
Это делается через RewriteMap, но это не лучший вариант по нагрузке, т.к. проверяется каждый запрос. Лучший вариант - это прописать canonical URL. Имена файлов и директорий сами по себе могут иметь разный регистр, поэтому нереально. Пропишите в странице <link rel="canonical" href="http://site.ru/правильный_url" />
Цитата
Местный Шерлок пишет:
Или через .htaccess
Большое спасибо за Ваш отзыв в данной теме, проблема решена!
Страницы: 1
Похожие темы:
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Новые темыОбъявленияСвободное общение
12:53 где много готовых фавиконок 
07:52 Роскомнадзор отказал в регистрации трети блогеров-десятитысячников 
07:51 Как правильно покупать ссылки для поддомена? 
22:59 Webvork - международная товарная СРА сеть с сертифицированными офферами на Европу. 
12:32 «Хлебные крошки» в адресе сайтов исчезнут из результатов поиска Google 
23:27 Adfinity - Ваш надежный партнер в монетизации трафика 
16:55 Инструменты для массового постинга в WordPress 
16:39 Продам аккаунты Gmail USA IP | Gmail MIX IP | Outlook Old 
11:07 Мобильные и Резидентные Прокси Для Соц Сетей | 3 Гб Бесплатно 
11:01 Защитим твой ресурс от блокировки Роскомнадзора 
10:09 BestChange – обменивать электронную валюту можно быстро и выгодно 
06:50 Просто $0.04/IP 9PROXY.COM Резидентные прокси Неограниченная пропускная способность Уникальная политика замены Без чёрного списка 
03:42 A-Parser 1.1 - продвинутый парсер поисковых систем, Suggest, PR, DMOZ, Whois, etc 
22:23 BestX24 - быстрый и безопасный обменник криптовалют и электронных денежных средств 
07:48 США готовят закон для уничтожения пиратских сайтов во всех странах мира 
02:50 Точные прогнозы на футбол 
02:10 [Новая партнерка] Goldbet Partners — прямой рекламодатель одноименного казино Goldbet 
21:19 С юмором по жизни! 
18:15 Telegram уничтожил официальный канал легендарного российского торрент-трекера 
18:19 Уникальный сервис SEO продвижения 
14:45 (затёр сайт)