Помогите настроить в .htaccess регистр url

_
На сайте с 02.12.2011
Offline
3
7520

У меня есть такая проблема с url: если прописываешь адрес (url) в разных регистрах,(например www.site.ru/My-Page.html www.site.ru/MY-PAGE.html www.site.ru/мY-pAgE.html )то страница загружается независимо от регистра и отдает 200 код ответа сервера.:gm: Мне необходимо сделать так чтобы регистр url всегда был нижним, т.е в случае ввода адреса в разном регистре осуществлялся 301 редирект на эту же страницу с нижним регистром. :madd: Это должно делаться автоматически для всех ссылок сайта. Я так понимаю это дело в настройке .htaccess.

Надеюсь вы мне сможете помочь хоть как то? Спасибо!;)

LEOnidUKG
На сайте с 25.11.2006
Offline
1747
#1

найдите там надпись [NC] и уберите её :)

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
_
На сайте с 02.12.2011
Offline
3
#2

Не помоголо:( Вот мой htaccess:

DirectoryIndex index.php

AddDefaultCharset utf-8

ErrorDocument 404 /public_html/netcat/require/e404.php

Options -Indexes

Options +FollowSymLinks

<IfModule mod_php5.c>

php_flag magic_quotes_gpc on

php_flag display_errors on

php_value error_reporting 0

php_value arg_separator.output "&amp;"

php_value mbstring.internal_encoding UTF-8

</IfModule>

<ifModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_HOST} ^site\.ru$ [NC]

RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/

RewriteRule ^index\.html$ http://www.site.ru [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/

RewriteRule ^index\.php$ www.site.ru [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-l

# Если NetCat стоит в подпапке, например mysite, то

# RewriteRule ^(.+)$ /public_html/netcat/require/e404.php?REQUEST_URI=$1 [L,QSA]

# в противном случае

RewriteRule ^(.+)$ /netcat/require/e404.php?REQUEST_URI=$1 [L,QSA]

RewriteRule .* - [E=HTTP_IF_MODIFIED_SINCE:%{HTTP:If-Modified-Since}]

RewriteRule .* - [E=HTTP_IF_NONE_MATCH:%{HTTP:If-None-Match}]

</ifModule>

siv1987
На сайте с 02.04.2009
Offline
427
#3
_sedrik_:
т.е в случае ввода адреса в разном регистре осуществлялся 301 редирект на эту же страницу с нижним регистром.

Это делается в скрипте.

Для зависимого регистра - .+ заменить на класс симовлов [a-z.%и прочие символы%]+

_
На сайте с 02.12.2011
Offline
3
#4
siv1987:
Это делается в скрипте.

Для зависимого регистра - .+ заменить на класс симовлов [a-z.%и прочие символы%]+

Спасибо за совет.:) А у Вас случайно нет "под рукой" скрипта?

M
На сайте с 17.04.2008
Offline
88
MBo
#5

вставить в самый вверх index.php сразу после <?php или <?

if($_SERVER['REQUEST_URI'] != strtolower($_SERVER['REQUEST_URI'])){

header('Location: http://'.$_SERVER['HTTP_HOST'].strtolower($_SERVER['REQUEST_URI']), true, 301);

exit();

}

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий