sarkisssik
@sarkisssik

.htaccess — Проблема. Как решить?

Здравствуйте . Есть правила в начале хитачес

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L] 
RewriteCond %{ENV:REDIRECT_STATUS} !^$
RewriteRule .* - [L]

не могу понять, досконально, что они делают, но когда ставлю после них

RewriteCond %{HTTP_HOST} (www\.)?(.*)\.сайт\.ru$ 
RewriteRule ^(.*)(/(.*)/)?$ index.php?smgeo=%2 [L]

то этот код не хочет работать.

Конкретно : у меня динамические поддомены для городов и т.д. Хочу получать значение гео - положения.

Объясните дилетанту, почему я могу получить значение только тогда, когда ставлю правило раньше текущих + при заходе на поддомен, в таком случае, теряются стили .

Спасибо =))
  • Вопрос задан
  • 182 просмотра
Пригласить эксперта
Ответы на вопрос 2
artem90
@artem90
TeamLead, Developer
L в секции rewrite rule означает "last" , т.е последний.

Если правило срабатывает, то последующие уже не выполняются.
Ответ написан
lancer_serega
@lancer_serega
PHP Developer
Надо задать количество циклов [E=FINISH:1]
А вообще лучше в апаче подключить логи и смотреть что там преобазовывается
RewriteCond %{ENV:REDIRECT_FINISH} !^$
RewriteRule ^ - [L]
RewriteRule ^(.*)\.(css|js)$ assets/$2/$1.$2 [E=FINISH:1]
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы