2011-12-23 6 views
1

Привет У меня есть независимый сайт, который находится внутри подкаталога основного сервера.htaccess переписать в поддомен

Все ссылки в подкаталоге сайта указывают на корень, и я хотел бы их захватить и отправить обратно в подкаталог, а не в корневой каталог.

Возможно ли это с htaccess?

ответ

2

Это не будет перенаправлено на subdir, но сделает другой домен так, как будто subdir является корнем document. Я думаю, что это еще лучше.

RewriteEngine on 
RewriteBase /

RewriteCond %{HTTP_HOST} ^seconddomain.nl$ [NC] 
RewriteCond $1 !^subfolder 
RewriteRule ^(.*)$ /subfolder/$1 [L] 
1

Как @Gerben указал (ответ на который вы должны полностью пойти и upvote прямо сейчас) вы можете сделать другой домен вести себя так, как будто подкаталог является документ-корень, как это:

RewriteEngine on 
RewriteBase /

RewriteCond %{HTTP_HOST} ^seconddomain.example.com$ [NC] 
RewriteCond $1 !^subdir 
RewriteRule ^(.*)$ /subdir/$1 [L] 

Другой способ сделать то, о чем вы просите, - использовать тег <base> в ваших HTML-документах. Одно из преимуществ этого заключается в том, что у вас нет дополнительной обработки .htaccess для каждого документа, обслуживаемого веб-сервером (включая все документы не в подкаталоге/поддомене).

Если вы хотите сделать это в .htaccess и он перенаправляет независимо от того, является ли это субдомен, это будет выглядеть так:

RewriteEngine on 
RewriteCond %{PATH_INFO} !^subdir/ 
RewriteRule ^(.*)$ subdir/$1 [L] 
Смежные вопросы