2009-10-08 5 views
2

Если я перехожу на http://www.example.com, я хочу, чтобы он остался там, где работает отлично.
Если я иду в http://bar.example.com он перенаправляет на http://www..com, что неправильно
я хочу поехать в http://www.example.com с учетом обратной ссылки на RewriteCondRewriteCond backreference не работает

 
RewriteEngine On 

RewriteCond %{HTTP_HOST} !^$ 
RewriteCond %{HTTP_HOST} !^www.(example).com [NC] 
RewriteRule ^(.*)   http://www.%1.com/$1 [L,R] 

Ubuntu 8,04
Пакет: apache2-MPM-PreFork
Архитектура: i386
Версия: 2.2.8-1

ответ

3

Отрицаемые модели не имеют аналогов и, таким образом, вы не можете ссылаться на группу этого несуществующего матча.

Но попробуйте это правило вместо:

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

Ahh отрицанием узор. Все это имеет смысл сейчас. Благодаря! – er1234

0

Ваше состояние d OES не соответствует bar.mysite.com:

RewriteCond %{HTTP_HOST} !^www.(mysite).com [NC] 

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

RewriteCond %{HTTP_HOST} !^[^\.]+\.(mysite)\.com [NC]