301 htaccess重定向除现有页面之外的所有内容

时间:2012-04-12 11:32:42

标签: .htaccess redirect forward

我想在同一台服务器上从http转到https。所有页面,文件等都需要转发到https,除了使用iFrame嵌入在多个网站上的四个页面外。由于https无法包含在iframe中,因此我希望保留这些内容,但添加其他内容。

我现在正在玩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]

需要做的是:

  1. 如果文件在http上打开它。
  2. 如果文件不在http,请转到https,以便http://www.url.com/test.php自动成为https://www.urlcom/test.php
  3. 在2上找不到的网页应转发到https
  4. 上的主域名

1 个答案:

答案 0 :(得分: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如果您发布答案我可以接受。