簡體   English   中英

單頁301重定向HTTPS到HTTP

[英]301 redirect HTTPS to HTTP for a single page

我目前有一個 SSL 證書應用於我的網站,所有 URL 都正確重定向到 https。 我需要其中一個 URL 為 HTTP。 我的 .htaccess 中有以下代碼,它將所有頁面重定向到 HTTPS。

我希望下面的 URL 是 HTTP 而不是 HTTPS。

http://www.example.com/blog_rss.php

RewriteEngine on
RewriteBase /
RewriteCond %{ENV:HTTPS} !on [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

提前感謝你的幫助

您可以在htaccess中用此代碼替換當前代碼

RewriteEngine On
RewriteBase /

RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/blog_rss\.php$ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L,QSA]

RewriteCond %{HTTPS} on
RewriteRule ^(blog_rss\.php)$ http://%{HTTP_HOST}/$1 [R=301,L,QSA]

編輯:在某些服務器上無法識別%{HTTPS} ,這將導致無限循環。

嘗試使用%{SERVER_PORT} (如果默認的http端口仍然是80,而ssl端口是443)

RewriteEngine On
RewriteBase /

RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} !^/blog_rss\.php$ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L,QSA]

RewriteCond %{SERVER_PORT} 443
RewriteRule ^(blog_rss\.php)$ http://%{HTTP_HOST}/$1 [R=301,L,QSA]

您也可以嘗試使用初始語法

RewriteEngine On
RewriteBase /

RewriteCond %{ENV:HTTPS} !on [NC]
RewriteCond %{REQUEST_URI} !^/blog_rss\.php$ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L,QSA]

RewriteCond %{ENV:HTTPS} on [NC]
RewriteRule ^(blog_rss\.php)$ http://%{HTTP_HOST}/$1 [R=301,L,QSA]

我遇到了類似的問題,我有一個 SSL 證書應用於我的子域(abc.example.in),並且所有 URL 都正確重定向到 https。

我需要其中一頁是 HTTP。 我的 .htaccess 中有以下代碼,它將所有頁面重定向到 HTTPS。

RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^abc\.example\.in$
RewriteCond %{REQUEST_URI} !^/driving\.php$
RewriteRule .* https://abc\.example\.in%{REQUEST_URI} [R=301,L]

當我在瀏覽器中點擊 URL(abc.example.in/driving.php) 時,它仍然重定向到 https,請建議。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM