使用.htacces从https中排除特定网址

时间:2017-04-17 09:30:50

标签: php .htaccess

我在.htacces文件中为整个域设置了http到https重定向。一切正常,但我需要从https中排除一个特定的子页面。
我使用下面的代码,但只有当我尝试直接在浏览器中访问这个子页面时,它才有效,但当我从另一个子页面(必须在https上)进行链接时没有变化,仍然在https上。
我只需要在HTTP上包含detail2.php的所有网站。

我的链接示例:
https://www.exampledomain.com/detail2.php?master_id=123

我的.htaccess

RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteCond %{REQUEST_URI} !^/detail2
RewriteCond %{QUERY_STRING} !^/detail2
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

变量%{HTTP:X-Forwarded-Proto}我必须使用,因为服务器设置使用它而不是%{HTTPS} 我在这里尝试了很多指南,但对我来说没什么用。

对于整个站点重定向也适用于我这个版本:

RewriteCond %{HTTPS} !on

RewriteCond %{HTTP:X-Forwarded-Proto} !=https

RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [L,QSA,NE]

Thanx很多任何帮助。

0 个答案:

没有答案