首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >htaccess -如何在我的主域上强制HTTPS,而不是在子域上。

htaccess -如何在我的主域上强制HTTPS,而不是在子域上。
EN

Stack Overflow用户
提问于 2014-07-06 14:13:13
回答 1查看 235关注 0票数 0

我刚刚添加了以下规则来强制HTTPS在我的支付页面,仅仅是因为我不知道如何强制HTTPS只在domain.com而不是user1.domain.com -不太确定如何做,甚至它是可能的。

代码语言:javascript
运行
复制
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} /join/payment
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L]

因此,我添加了这个规则,它运行的很好,但是,它是否有可能仅仅强制HTTPS在我的整个域,而不是我的任何子域?

我的完整htaccess文件

代码语言:javascript
运行
复制
RewriteEngine on
RewriteCond $1 !^(index\.php|images|js|profile_pictures|fonts|stylesheets|robots\.txt)

RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} /join/payment
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [NE,R=301,L]

RewriteCond %{HTTP_HOST} !^((www\.)?)domain\.com [NC] 
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com
RewriteRule ^(.*)$ http://domain.com/site/%1$1 [L,NC,P]

RewriteCond %{HTTP_HOST} !^domain\.com$ [NC]
RewriteRule ^((?!site/).*)$ http://domain.com/site/$1?host=%{HTTP_HOST}&page=%{REQUEST_URI} [L,NC,P]

问题

是否有可能仅仅在domain.com上强制HTTPS,而不是在子域上?如果可以在子域上强制HTTP而不是HTTPS,我也想听听如何做到这一点。

EN

回答 1

Stack Overflow用户

发布于 2014-07-06 14:36:54

我认为这应该是可行的:

代码语言:javascript
运行
复制
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} /join/payment
RewriteCond %{HTTP_HOST} !^((www\.)?)domain\.com [NC] 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L]

也就是说,在HTTP_HOST前面添加https://之前,添加一个条件来检查它是否是www.domain.comdomain.com

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24596733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档