Настройка редиректа во внутренних страницах сайта.
Страницы: 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)
Новые темыОбъявленияСвободное общение
10:16 Бесплатное расширение для Chrome — проверка ссылок прямо на странице 
10:15 ИКС Яндекс АПдейт 1 апреля 2026. Обновлён алгоритм расчёта 
10:12 Gmail разрешил менять основной адрес - теперь можно убрать старые ники без переноса аккаунта 
18:01 Раскрутка форума 
13:23 Рост эффективности моего интернет‑магазина 
21:08 Adsense личный опыт 
18:19 Яндекс Нейро и выдача в 2026 - остались ли лазейки для маленьких сайтов? 
15:46 Продажа аккаунтов HH.RU 
14:28 Oblaka.in — Обмен криптовалюты быстро, выгодно и безопасно 
14:20 Клавиатурный шпион для слежения за компьютером 
14:03 Q3.Network: 1500+ гемблинг-офферов, нестандартные источники трафика, свои приложения 
13:14 BIGPROXY.SHOP - Резидентные Ротационные Backconnect Proxy USA EUROPA MIX [Безлимитный трафик] 
11:47 Продам сайт Домен РУ RU РФ c доменом www.доменру.рф 
09:45 EM24.biz - обмен валют 
11:52 Огородники 
04:35 Точные прогнозы на футбол 
22:45 С юмором по жизни! 
22:32 8 марта: желаю аптайма 99.9% и e-e-a-t без локов 
19:57 молодильные яблоки и живая вода 
15:42 Голландцы влепили Grok по яйцам - теперь нельзя раздевать реальных людей, штраф 100к евро в день 
07:17 Почему не обновляется счетчик ИКС (индекса качества сайта)