Правильная работа .htaccess + mod_rewrite

SunDrop
На сайте с 28.12.2005
Offline
34
668

Добрый день.

Уже поломал голову.

Перенес сайт в подпапку и хочу с помощью mod_rewrite настроить корректную работу.

Создал правило:

rewriteCond %{HTTP_HOST} ^site\.com

rewriteRule ^(.*)$ folder/$1 [L]

Но выдается 500 ошибка.

Подскажите, где могут быть грабли?

Спасибо...

В 20 лет он знал 9 операционных систем и 15 языков программирования, но ни одной женщины
d1ma
На сайте с 18.03.2007
Offline
102
#1

во первых в конце первой строчки добавить $

во вторых запросы folder/* будут рекурсивно обрабатываться тем же rewriteRule как folder/folder/* - то есть нужно добавить rewriteCond с проверкой что этот запрос не folder/

SunDrop
На сайте с 28.12.2005
Offline
34
#2

Сорри. Он там есть.

rewriteCond выполняется. Проверял.

А вот rewriteRule не работает (((

d1ma
На сайте с 18.03.2007
Offline
102
#3

а второй пункт?

d1ma добавил 25.02.2008 в 17:16

добавь:

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

или/и

RewriteCond %{REQUEST_URI} ^/folder/(.*)$

SunDrop
На сайте с 28.12.2005
Offline
34
#4
d1ma:
а второй пункт?

RewriteCond %{REQUEST_URI} ^/folder/(.*)$

rewriteRule ^(.*)$ folder/$1

или

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d
rewriteRule ^(.*)$ folder/$1

выдает корень сайта. Переброски не происходит =(

Я понимаю, что начинаю тупеть =(

d1ma
На сайте с 18.03.2007
Offline
102
#5

sorry, я ошибся немного:


RewriteCond %{REQUEST_URI} !^/folder/(.*)$
RewriteRule ^(.*)$ folder/$1
SunDrop
На сайте с 28.12.2005
Offline
34
#6

УРА! Спасибо!

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