将一页重定向到http而不是https

时间:2019-01-31 04:44:36

标签: php .htaccess ssl

我有我的.htaccess文件就像下面的力HTTPS来我的所有网页。

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^(www\.)?example\.net
RewriteRule ^(.*)$ https://www.example.net/$1 [R,L]

其工作正常按我的要求。现在,我要排除我的名为demo.html的页面之一的https 我不想要https。 需求

http://example.net/demo.html 

代替

https://example.net/demo.html

2 个答案:

答案 0 :(得分:2)

您需要为其添加RewriteCond条件。

检查以下代码:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^(www\.)?example\.net
RewriteCond %{REQUEST_URI} !^/demo\.html$ [NC]
RewriteRule ^(.*)$ https://www.example.net/$1 [R,L]

答案 1 :(得分:0)

您可以像这样在同一行中输入:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule !^demo\.html$  https://www.%1%{REQUEST_URI} [L,R]

如果可以,请将R更改为R=301以获得永久重定向,因为仅将R视为R=302和该临时重定向。