Как настроить htaccess с указанием переадресации с www на без с учётом ЧПУ?

Ситуация такая: нужно настроить переадресацию с www на без. Но на сайте установлен ЧПУ. В данный момент .htaccess такой:
RewriteEngine on
# ЧПУ
RewriteRule ^([a-z0-9\-/]+)$ index.php?url=$1 [L]
# Переадресация с www на без
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Но в данном случае, если пробую так вводить в адрес: www.site.com/ru меня перекидывает на site.com/index.php?url=ru
а мне надо, чтобы перекидывало на site.com/ru
  • Вопрос задан
  • 115 просмотров
Пригласить эксперта
Ответы на вопрос 1
shambler81
@shambler81 Куратор тега htaccess
1. А че у вас редирект с ввв стоит после чпу ? вообще-то хтаксесс читается сверху вниз. И если вы хотите более раннего применения, милости просим, переместите вверх.
2. у вас дуратское ЧПУ
оно у вас не учитывает собственно файлов и директориев.

RewriteCond %{REQUEST_FILENAME} !-f
#это не файл
RewriteCond %{REQUEST_FILENAME} !-l
# и это не линка
RewriteCond %{REQUEST_FILENAME} !-d
# и это не директория
# и  защита от циткла, это не сам файл 
RewriteCond %{REQUEST_FILENAME} !/index.php$
RewriteRule ^([a-z0-9\-/]+)$ index.php\?url=$1 [L]


Этого хватило ?
если нет то опишите более подробно ру это у вас физический файл каталог в общем чуть больше инфы, много ли таких ру или он один и можно сделат просто исключение.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы