2012-12-04 2 views
0
내가 HTTP, HTTPS 및 SSL이 작업을 할 필요가

에 'www'를 위해이 내 실제 (작업) 재 작성 :htaccess로 사용자 리디렉션 비 "WWW"는 PARAMS

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ index.php?url=$1 [L,QSA] 
</IfModule> 

하지만 난에 필요 강제로 "www"가 아닌 URL (예 : http://domain.com)을 "www"가있는 동일한 URL로 리디렉션하고 여전히 index.php? url = $ 1을 (를) 작업하려면 강제로 "라우터"엔진을 사용해야합니다.

도움 주셔서 감사합니다.

답변

0

이 (다른 재 작성 규칙 전) 작업을 수행해야합니다

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{HTTPS} !=on 
    RewriteCond %{HTTP_HOST} !^www.*$ 
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301] 
    RewriteCond %{HTTPS} =on 
    RewriteCond %{HTTP_HOST} !^www.*$ 
    RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [L,R=301] 
    RewriteRule ^(.*)$ index.php?url=$1 [L,QSA] 
</IfModule> 
0

그냥 다음과 같이 시작 부분에 www가 규칙에 www가 아닌 ​​추가 :

#non-www to www 
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^domain\.com/?$ [NC] 
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301] 

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ index.php?url=$1 [L,QSA] 
</IfModule>