2017-12-25 15 views
2

"example.org/forum/ ..."에 대한 호출 대신 모든 요청을 "https"로 리디렉션하려고하지만 솔루션이 제대로 작동하지 않고.htaccess force ssl 일부 URL을 제외

RewriteEngine On 

RewriteCond %{REQUEST_URI} !^/forum/.*$ 
RewriteCond %{SERVER_PORT} !^443$ 
RewriteRule ^(.*)$ https://example.org$1 [R=301,L] 

RewriteCond %{REQUEST_URI} ^/forum/.*$ 
RewriteCond %{SERVER_PORT} ^443$ 
RewriteRule ^(.*)$ http://example.org/$1 [R=301,L] 

편집 : 나는 예를 들어이 방법이 작동하지 않는 이유를 알아낼 수 없습니다 난 그냥 일부 폴더, index.html을 파일과 아무것도 가진 .htacess 파일을 도메인에 지금이 예제를 시도했다 그러나 뿌리에있는이 2 개의 규칙은 매력 같이 작동한다!

요점은 아래에 CMS가있는 도메인에서이 작업을 수행하려고 시도한 것이고, 이는 contao 설치이며 작동하지 않습니다. 나는 또한 wordpress 설치에 그것을 시도하고 거기 너무 일하지 않는다! 내부 리디렉션과 관련이 있다고 생각합니다. 단서가 있습니까? 제가

+0

당신이 모든 요청은 https로 이동 원은'/ forum' 제외하고, HTTP로 이동? – Ben

+0

정확히!/forum/.../ie/forum/threadXY 또는/forum /? newthread 등의 "url"아래에있는 모든 URL은 http이어야합니다. "/ forum /"이없는 모든 요청은 https 여야합니다 ... – ToTaTaRi

답변

-1

한다 RewriteEngine

에 ... 웹에서 이러한 경우를 찾을 수없는한다 RewriteCond % {HTTP_HOST}^yourdomaim.com $

RewriteRule의 (. *) https://www.yourdomain.com/ $ 1 R = 301 그것은 나를 위해 작동 L]

한다 RewriteRule^$ 폴더 이름 [L]

HTTPS를

폴더 이름에 모든 리디렉션하는 youdomain.com/f 후 폴더입니다 oldername

+0

하지만 모두 리다이렉트하고 싶지 않다면 "/ forum/..."을 제외해야합니다! – ToTaTaRi

+0

@ToTaTaRi 모두 다시 쓰기 규칙을 제외시키지 않으려면 –

2

RewriteCond directiveREQUEST_URI/로 시작되어, 당신이이 규칙을 변경해야한다 :

RewriteCond %{REQUEST_URI} !^/forum/.*$ 
RewriteCond %{SERVER_PORT} !^443$ 
RewriteRule ^(.*)$ https://example.org/$1 [R=301,L] 

RewriteCond %{REQUEST_URI} ^/forum/.*$ 
RewriteCond %{SERVER_PORT} ^443$ 
RewriteRule ^(.*)$ http://example.org/$1 [R=301,L] 
+0

아, 네 말이 맞아.하지만 나도이 구문을 시도해 봤지만 둘 다 작동하지 않았다. 문제는 다른 것 같다. 내 질문을 변경했는지, 아마도 그 사건에 대한 단서도있다!? :) – ToTaTaRi

+0

'Options Indexes FollowSymLinks'를 설정 했습니까? – Ben