Настройка редиректа во внутренних страницах сайта.
Страницы: 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)
Новые темыОбъявленияСвободное общение
16:27 Подскажите по Miralinks 
16:26 Поднимем ваш сайт в ТОП 3 Яндекса по НЧ, СЧ, ВЧ запросам 
15:01 Яндекс выдача 5 июня 2020 | От АПа вам горячо-холодно? 
16:32 Улучшение параметров скорости сайта 
16:28 Конкурент жалуется на копипаст 
15:09 Adtrafico - Правильная партнёрская сеть под бурж трафик 
15:04 Лендинг и СЕО 
12:40 Напишем для вас регеры, спамеры, кликеры, чекеры, парсеры 
11:04 Продам сайт тематики казино. 
10:13 Сайт Авиабилеты Сочи 
10:10 Продам 3 сайта разных тематик 
16:02 Продам 15-летний домен 
14:28 Программа для рассылки на юле - Youla Master 
14:22 AvReger - программа для создания аккаунтов авито 
17:09 SEO продвижение сайтов в Яндекс, Google. Поднятие ИКС сайту, исправления ошибок, разработка стратегий 
09:13 Коронавирус 
07:24 Дистанционное обучение в школе 
07:22 Правильное название, это пол дела 
22:43 [b]Webvork [/b]- международная товарная СРА сеть с сертифицированными офферами на Европу. 
19:36 Минобороны сообщило об успешном испытании вакцины от COVID-19 на обезьянах и хомяках 
17:46 Швеция пожалела о решении не вводить карантин