последовательные rewrite rules

terrible

Новичок
последовательные rewrite rules

все запросы вида script.html переправляются на index.php тривиальным правилом.
возникла необходимость перенаправлять все с users/(.*) на $1 (т.е. скажем users/vasya.html на vasya.html) и потом применить правило для vasya.html на index.php,
но в браузере, чтоб оставалось /users/vasya.html (иначе я бы делал редирект)

певрое правило очевидно
(1) RewriteCond %{REQUEST_FILENAME} !-f
(2) RewriteCond %{REQUEST_FILENAME} !-d
(3) RewriteRule .*\.html$ index.php [L]

пытаюсь добавить RewriteRule users/(.*) $1 [NC,QSA] перед правилом (3), но результата не дает (хотя отдельно работает)

так же пытался отделять RewriteCond %{REQUEST_URI} !^/users перед (3) и после нового правило, что тоже не дает делаемого результата.

как выйти из подобной ситуации?

спасибо.
 

mity

Новичок
А что Вас не устраивает?
Как Вы хотели?

У Вас в ["REQUEST_URI"] исходная строка запроса,
а на ["REDIRECT_URL"] не обращайте внимание, это внутреннее промежуточное значение.

Более правильно наверно будет
RewriteRule ^users/(.*) $1 [L]
 

terrible

Новичок
ну скрипт видимо работает с REQUEST_URI, т.к. на users/vasya.html не реагирует. не знает с таким работать :(
 

mity

Новичок
А почему Вы не можете в начале вашего "чудо скрипта" написать
PHP:
$_SERVER["REQUEST_URI"]=$_SERVER["REDIRECT_URL"];
?
 

terrible

Новичок
потому, что хак с rewrite это уже слишком много быдлокода... это сетап на typolight'e, которые почему-то иерархию струкруты сайта не заворачивает в /section/subsection/subsubsection и т.п. или я чего-то не знаю.
 

terrible

Новичок
твои правила по сути ничем не отличаются, от моими. второе вариант с $_server ужасен. так что "угодить" и нечем.
но я ценю попытку помочь. спасибо
 
Сверху