2017-12-20 10 views
0

http://www.example.comhttp://example.com ~ https://www.example.com을 다시 작성해야합니다. 이러한 URL은 인덱스 파일을 가리키는 것이 아니라/폴더를 가리키는 것이 복잡합니다. 즉 https://www.example.com은 실제로 URL 바에 https://www.example.com/folder을 표시하지 않고/var/www/html/폴더를 가리 킵니다.https 및 숨겨진 하위 폴더에 대한 .htaccess 다시 쓰기

나는 이전에

RewriteCond %{HTTP_HOST} www.example.com [NC,OR] 
RewriteCond %{HTTP_HOST} ^example.com [NC] 
RewriteRule ^(.*)$ folder/$1 [L] 

와 두 번째 부분을 달성하는 데 성공했고, 나는 첫 번째 부분은이 같은으로 달성 될 수 있다는 것을 알고 :

RewriteCond  %{SERVER_PORT} ^80$ 
RewriteRule  ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R] 

을하지만, 어떻게 든 난 그냥 수 없습니다 내가 htaccess에 익숙하지 않아서 둘 다 함께 일하게해라. 미리 감사드립니다!

답변

1

당신은 wwwhttp -> https 리디렉션을 추가 할 수있는 하나의 규칙이 다음 앞으로 폴더에 대한 재 작성 규칙을 가질 수

RewriteEngine On 

RewriteCond %{HTTP_HOST} !^www\. [NC,OR] 
RewriteCond %{HTTPS} !on 
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC] 
RewriteRule^https://www.%1%{REQUEST_URI} [R=301,L,NE] 

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

이 오류를 얻을 : 파이어 폭스는 서버가이 주소에 대한 요청을 리디렉션되는 것을 감지했습니다 결코 완료되지 않을 것입니다. – phantomhive

+0

새 브라우저 나 커맨드 라인'curl' – anubhava

+0

에서 동일한 규칙을 적용 해보십시오. Firefox, Chrome, Safari를 사용하고 모든 기록, 쿠키 등을 모두 지 웠습니다. – phantomhive