Проблемы с mod_rewrite

Nerfair

Новичок
Доброе время суток.

Есть два сайта, работают на Apache 2.2 , первый с доменом domain.com находится в стандартной папке /htdocs/, второй с доменом link.domain.com находится в папке /htdocs/link, для обоих требуется mod_rewrite.

Первый сайт использует :
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^error/([^/]*)\.html$ /index.php?message=$1

ErrorDocument 403 http://www.domain.com/error/Access Denied.html
ErrorDocument 404 http://www.domain.com/error/Not Found.html
ErrorDocument 500 http://www.domain.com/error/Server Error.html
Второму требуется :
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)$ /index.php?redirect=$1 [L]
Проблема в том, что .htaccess из корневой директории конечно же распространяется и на /link/, поэтому если link.domain.com обращается к своему .htaccess где прописан код приведенный выше, Апач выдает 500'ую ошибку.

Вопрос, как быть? Пробовал
RewriteCond %{HTTP_HOST} !^link\.domain\.com$ [NC]
Для второго правила, но не помогло.

Постарался изобразить, что и как у меня установлено (при таком раскладе, получаю 500 ошибку)


Пытался сделать и так

Так, ошибку не дает, оба сайта открываются нормально, но на втором правила
RewriteCond %{HTTP_HOST} !^link\.domain\.com$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)$ /index.php?redirect=$1 [L]
Просто игнорируются, тоесть как буд-то их вобще нет в .htaccess
 

Nerfair

Новичок
Похоже не хватало просто рестарта апача, сегодня уходил выключил сервер, пришел начал разбираться.

Сейчас все отлично работает с
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^error/([^/]*)\.html$ /index.php?message=$1 [L]

ErrorDocument 403 http://www.domain.com/error/Access Denied.html
ErrorDocument 404 http://www.domain.com/error/Not Found.html
ErrorDocument 500 http://www.domain.com/error/Server Error.html
в /htdocs/.htaccess

и
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)$ /index.php?redirect=$1 [L]
в /htdocs/link/.htaccess

Причем правила первого не распространяются на /link/, и нет никаких ошибок.
 
Сверху