2012-04-12 3 views
0

동일한 서버에서 http에서 https로 이동하려고합니다. 모든 페이지, 파일 등은 iFrame을 사용하여 여러 웹 사이트에 포함 된 4 페이지를 제외한 https로 전달해야합니다. https가 iframe에 포함될 수 없기 때문에 https를 남기고 싶지만 나머지는 모두 추가하고 싶습니다.301 htaccess 기존 페이지를 제외한 모든 리디렉션

나는 한 시간 이상 htaccess로 놀고 있지만 성공하지 못했습니다. 최신 평가판은 아래와 같습니다. 그러나이 예제에서는 파일을 스스로 작성해야합니다. http 서버에 존재하지 않는 모든 것을 더 이상 https 서버로 전달하고 나머지는 그대로 둡니다. 무엇이 필요하나요

RewriteCond %{HTTPS} = off 
RewriteCond $1 !^(inschrijven-frame|inschrijven-frame2)\.php$ [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ https://www.url.nl/$1 [R=301,L] 

입니다 : 파일이 HTTP에

  1. 경우를 엽니 다.
  2. 파일이 HTTP, 고토 HTTPS에없는 경우
  3. , 그래서 http://www.url.com/test.php 자동 2에없는 https://www.urlcom/test.php
  4. 페이지되고, HTTPS에 대한 기본 도메인을 해제하기 위해 전달되어야한다
+1

** 1 **이 행은 틀리며 'RewriteCond % {HTTP} = on' - RewriteCond % {HTTPS} = off [NC]'이어야합니다 ** 2) ** 잘못된 문자를 사용하고 있습니다. OR 정규 표현식 로직은'| '대신'|'이어야합니다. – LazyOne

+0

감사합니다. LazyOne, http 파일이 있으면 https로 이동하지 말 것인가? – mat

+0

이것을 사용하십시오 :'RewriteCond % {REQUEST_FILENAME}! -f'. 설명/문서는 http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritecond – LazyOne

답변

0

나는 내가 그것을 해결할 생각 . 괜찮아?

RewriteEngine on 
RewriteBase/

RewriteCond %{SERVER_PORT} 443 
RewriteRule ^(page1|page2|test1|test2)\.php$1 [R,L] 

RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} !^/ipage 
RewriteCond %{REQUEST_URI} !^/test 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

@LazyOne 답변을 게시하면 받아 들일 수 있습니다.

관련 문제