2014-02-19 3 views
0

У меня есть сайт на подобласти:.htaccess перенаправления, если домен = x.example.com

x.example.com 

Я положил его на подобласти, потому что он работает на отдельном сервере с основного сайта.

Использование прокси-сервера для Apache, я сейчас переехал сайт example.com/x/ Я хочу сделать 301 редирект с поддомена, как это:

Redirect 301/http://example.com/x/ 

, но я не знаю, как убедиться в том, что он делает не приводит к петле перенаправления, как страницы я перенаправляет к содержит тот же Htaccess-файл (как это прокси-сервер из старого файла)

это то, что я пробовал:

RewriteCond %{HTTP_HOST} ^x.example.com$ [NC] 
RewriteRule ^(.*)$ http://staging.example.se/x/ [R=301,L,NE] 

это мое полное .htaccess:

<IfModule mod_rewrite.c> 
RewriteEngine On 
#RewriteBase/

RewriteCond %{REQUEST_URI} ^(.*)//(.*)$ 
RewriteRule . %1/%2 [R=301,L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^.*$ index.php?qa-rewrite=$0&%{QUERY_STRING} [L] 

RewriteCond %{HTTP_HOST} ^zenqa.herokuapp.com$ [NC] 
RewriteRule ^(.*)$ http://staging.zenconomy.se/faq/$1 [R=301,L,NE] 
</IfModule> 

ответ

0

Вы упускаете обратную ссылку, вам нужен $1, чтобы получить первоначальный запрос и передать его вместе с переадресацией:

RewriteCond %{HTTP_HOST} ^x.example.com$ [NC] 
RewriteRule ^(.*)$ http://staging.example.se/x/$1 [R=301,L,NE] 
+0

Я все еще получаю перенаправлять loop .... – Himmators

+0

@ KristofferNolgren должно быть другое правило или что-то, что вызывает перенаправление, потому что это правило само по себе не будет зацикливаться, если 'x.example.com' не будет таким же, как' staging.example.se' (как в том же тексте, а не на сервере) –

+0

Нет, это не так, они находятся на разных доменах. Я прокомментировал эти две строки и цикл не происходит, я могу посетить оба сайта, не перенаправляя их другому. Я собираюсь заглянуть в RewriteCond, который теперь смотрит на {THE_REQUEST}. – Himmators

Смежные вопросы