2015-07-22 2 views
0

Я конфигурирование моего сайта, чтобы перенаправить не-WWW на WWW, но в результате в адресном цикле, как это:перенаправление не-WWW на WWW приводит к адресу петлевой

abc.com/www.abc.com/index.php/www.abc.com/index.php/www.abc.com/index.php/www.abc.com/index.php/www.abc.com/index.php ... and so on 

Ниже мой файл .htaccess. Может ли кто-нибудь помочь мне определить мою ошибку?

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_URI} ^system.* 
RewriteRule ^(.*)$ /index.php?/$1 [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !^(/index\.php|/assets|/robots\.txt|/favicon\.ico) 
RewriteRule ^(.*)\.html$ /index.php/$1 [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !^(/index\.php|/assets|/robots\.txt|/favicon\.ico) 
RewriteRule ^(.*)$ /index.php/$1 [L] 

RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ www.%{HTTP_HOST}/index.php/$1 [R=301,L] 
</IfModule> 

<IfModule !mod_rewrite.c> 
ErrorDocument 404 /index.php 
</IfModule> 

Большое спасибо,

ответ

1
RewriteRule ^(.*)$ www.%{HTTP_HOST}/index.php/$1 [R=301,L] 
        ^--- 

Вы забыли префикс имени хоста с http://, так переписывание Апач как МЕСТНОГО URL

Попробуйте

RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/index.php/$1 [R=301,L] 

вместо этого.

Это в основном те же правила, которые применяются к:

<img src="www.example.com/kittens.jpg" /> 
<img src="http://www.example.com/kittens.jpg" /> 
+0

это все еще не работает. любое другое решение? – yodann

+0

мой плохой. он, наконец, работает после того, как я очистил свою историю и печенье! – yodann

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