我有我的.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
答案 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
和该临时重定向。