apache将所有URL重写为HTTPS,除了一个

时间:2013-02-07 09:12:06

标签: apache url mod-rewrite ssl https

我有一个网站,我指示所有非SSL流量使用https协议。

我用过

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

这很好用,但我需要网址

http://www.mywebsite.com/update-db.php 

不遵守此规则。

我该怎么做?

2 个答案:

答案 0 :(得分:0)

以下是我需要重定向IE8下载的示例,因为它在使用SSL时存在错误。只需取出 RewriteCond%{HTTP_USER_AGENT} ^(。)MSIE \ 8。(。)$ [NC] ,并将 viewpdf 替换为您的在你的情况下的PHP文件。

RewriteEngine On
#Fix for IE8 SSL Bug downloading PDF
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_USER_AGENT} ^(.*)MSIE\ 8\.(.*)$ [NC]
RewriteCond %{REQUEST_URI} ^/(viewpdf.*)$ [NC]
RewriteRule ^/?(viewpdf.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,NC]

RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/(viewpdf.*)$ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [L]

答案 1 :(得分:0)

只是:

RewriteCond %{REQUEST_URI} !^/update-db.php$
RewriteCond %{HTTPS} off
RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI}