2016-08-13 14 views
0

귀하의 도움이 필요합니다. 이것이 내 웹 사이트라고 가정 해 보겠습니다. example.com.htaccess URL 재 작성을 사용하여 SSL 리디렉션

http를 https로 리디렉션하고 싶습니다. 또한 URL을 다시 작성하고 싶습니다. 다음 웹 사이트에 접속하면 :

https://example.com/new 모든 것이 잘 작동합니다.

http://www.example.com/new으로 웹 사이트에 액세스하는 경우 https로 리디렉션되지만 URL은 다시 쓰이지 않습니다. 내가 다른 순서로 규칙을 넣어 시도했지만이 전혀 작동하지 않는

`https://example.com/old` 


RewriteEngine on 

RewriteRule ^new/(.*)$ old/$1 [L,QSA] 

RewriteCond %{HTTPS} =off [NC,OR] 
RewriteCond %{HTTP_HOST} ^example.com [NC,OR] 
RewriteCond %{HTTP_HOST} ^www.example.com [NC,OR] 
RewriteCond %{HTTP_HOST} ^www.example.com [NC] 
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301,NC] 

: 결과는 이것이다.

도와 주시면 감사하겠습니다. 많은 감사합니다 :)

+0

귀하의 규칙 순서를 전환하십시오. – hjpotter92

답변

0

www 만 제거하려는 경우이 기능이 필요합니다.

RewriteEngine on 

RewriteCond %{HTTPS} ^off [OR] 
RewriteCond %{HTTP_HOST} !^example\.com [NC] 
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301,NC] 

RewriteRule ^new/(.*)$ old/$1 [L,QSA] 
+0

코드를 사용하고 있습니다. 이제는 정상적으로 작동합니다. 많은 감사합니다! :) – rufsam

0

RewriteRule ^new/(.*)$ old/$1 [L,QSA] 

L (마지막)로 구성되는 규칙은, 따라서 그것은 더 이상 일치하면 다른 규칙을 처리하지 않습니다.

규칙의 순서를 전환해야합니다. 위에서 설명한 규칙 앞에 HTTPS 리디렉션 을 추가하십시오.

+0

anwser에게 감사드립니다! 나는 RewriteRule^new /(.*)$ old/$ 1 [L, QSA]를 다른 규칙 아래에 넣으려고했으나 작동하지 않습니다. – rufsam

관련 문제