htaccess и кривые руки

E
На сайте с 19.10.2011
Offline
58
eax
361

Есть домен на денвере "test1.ru"

В нем лежит htaccess следующего вида


RewriteEngine on
RewriteBase /
RewriteRule ^(?!^site\.ru)(.*)$ site.ru/$1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule aaa/(.*)$ bbb/$1

больше ничего там нет..

Если написать в браузере адрес: http://test1.ru/aaa/str

то выдается:

The requested URL /site.ru/bbb/str/str was not found on this server.

Почему "/str/str" ?

Я скорее всего чего-то не понимаю, но это сильно портит мне жизнь последние несколько часов. Буду очень признателен за помощь!

Joker-jar
На сайте с 26.08.2010
Offline
171
#1

Случайно в конфиге вирт хоста нет такой штуки?

AllowOverride None
E
На сайте с 19.10.2011
Offline
58
eax
#2

AllowOverride All
sabotage
На сайте с 14.02.2007
Offline
192
#3
eax:
RewriteRule*^(?!^site\.ru)(.*)$*site.ru/$1

Так и написано?

E
На сайте с 19.10.2011
Offline
58
eax
#4

Как написано так и написано.

eax добавил 28.10.2011 в 20:24

Я в htaccess только начал разбираться. Многие могут меня за это осуждать или ненавидеть, однако я не знаю как перенаправить запрос в папку "site.ru" и не вызвать рекурсию.

eax добавил 29.10.2011 в 16:31

Можно и через RewriteCond, не вижу принципиальной разницы - все равно сначала машина проверяет шаблон, а затем условия.

Короче если написать после первого правила [PT] то все становится ок.

Всем спасибо за помощь. sabotage конечно в особенности

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