2014-01-13 3 views
1

Как продлить файл htaccess, чтобы сделать .domain.com -> www.domain.com?mod rewrite from .domain to www.domain htaccess

<IfModule mod_rewrite.c> 
     RewriteEngine On 
     #catch potential subpages first 
     RewriteRule ^([a-z-]+)/([0-9a-z-]+)/?$ index.php?page=$1&subpage=$2 [L,NC,QSA] 
     #catch parent page without subpage 
     RewriteRule ^([a-z-]+)/?$ index.php?page=$1 [L,NC,QSA] 
    </IfModule> 

Возможно ли определить домен.com? и имеют общее правило для любого домена?

Обычно я хотел бы сделать так:

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

Но как я объединить его с директивами выше?

ответ

1

Есть свои правила, как это:

RewriteEngine On 

# anything.com to www.anything.com 
RewriteCond %{HTTP_HOST} ^[^.]+(\.[^.]+)?$ [NC] 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301,NE] 

#catch potential subpages first 
RewriteRule ^([a-z-]+)/([0-9a-z-]+)/?$ index.php?page=$1&subpage=$2 [L,NC,QSA] 

#catch parent page without subpage 
RewriteRule ^([a-z-]+)/?$ index.php?page=$1 [L,NC,QSA] 

PS: Если вы хотите добавить www субдомены также затем использовать это правило:

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

Вы не изменили правила ПОДСТРАНИЦЫ уловов права ? –

+0

Это тоже не работает на localhost :) правильно? –

+0

Отредактировано, чтобы заставить его работать и на localhost, и да, не изменил никакого другого правила. – anubhava