2017-12-04 9 views
0
RewriteEngine On 
    #Remove www 
    RewriteCond %{HTTP_HOST} ^www\.(.+) 
    RewriteCond %{HTTPS}s/%1 ^(on(s)|offs)/(.+) 
    RewriteRule^http%2://%3%{REQUEST_URI} [L,R=301] 
    #force https 
    RewriteCond %{HTTPS} off 
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
    #ignore folder for removing slash & removing .html 
    RewriteRule ^(whmcs) - [L] 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)/$ /$1 [L,R] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^([^\.]+)$ $1.html [NC,L] 

이것이 현재 코드입니다. 여기에 내 결과입니다 :"www"를 제거하고 도메인에서 "https"를 강제 실행하여 모두 시도하려고 시도했습니다.

website.com ->https://website.com

http://website.com ->https://website.com

www.website.com ->https://website.com

http://www.website.com ->https://website.com

모두 좋은 ...

https://www.website.com ->https://www.website.com < - 좋지 않습니다.

저는 이것을 연구하여 성공하지 못했습니다. 어떤 도움을주십시오. 그리고 내가 더 읽을 수 있도록 문서를 남길 친절한 분이라면. 어느 쪽이든 나는 해결책이 필요하다. 고맙습니다!

답변

0

remove wwwforce https에 너무 많은 재기록 조건을 작성했습니다. 그들이되지 않은 다른 특정 요구 사항이 다음 방금이 간단한 솔루션

RewriteRule (.*) https://website.com/$1 [R=301,L] 
+0

한다 RewriteEngine RewriteRule의 온 https://website.com/$1 [R = 301, L] 슬래시 제거 및 한다 RewriteRule^(whmcs)를 .html 중에서 제거 #ignore 폴더 (*.) - [L ] 한다 RewriteCond % {REQUEST_FILENAME}가! 한다 RewriteRule을 -d (^. *)/$/$ 1 [L, R] 한다 RewriteCond % {REQUEST_FILENAME}! -f 한다 RewriteRule^([^ \.] +) $ $ 1.html [NC, L] 이것이 의미하는 바라면 여전히 문제를 해결하지 못했습니다. –

+0

@AndrewFair는 여전히'https : // www.website.com'을보고 계십니까? 브라우저 캐시를 완전히 지운 후에 시도해 보셨습니까? – santosh

0

을 시도 할 수 있다면 내가 여기 내가 그것을 고정하는 방법이다, 이전과 같은 문제가 있었다.

### WWW & HTTPS 

#Remove WWW 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ http://%1%{REQUEST_URI} [R=301,QSA,NC,L] 

# ensure https 
RewriteCond %{HTTP:X-Forwarded-Proto} !https 
RewriteCond %{HTTPS} off 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

### WWW & HTTPS 
+0

나는 이것을 시도하고 똑같은 결과를 얻었다. https://www.website.com/은 https://website.com으로 리디렉션하지 않습니다. –