htaccess переписать на поддомен - PullRequest
1 голос
/ 23 декабря 2011

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

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

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

Ответы [ 2 ]

2 голосов
/ 23 декабря 2011

Это не будет перенаправлять на subdir, но заставит другой домен вести себя так, как будто subdir является корнем документа. Что, я думаю, даже лучше.

RewriteEngine on
RewriteBase     /

RewriteCond %{HTTP_HOST} ^seconddomain.nl$ [NC]
RewriteCond $1 !^subfolder
RewriteRule ^(.*)$ /subfolder/$1 [L]
1 голос
/ 23 декабря 2011

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

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]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...