首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用htaccess强制重定向到安全域?

如何使用htaccess强制重定向到安全域?
EN

Stack Overflow用户
提问于 2018-01-12 00:34:47
回答 1查看 74关注 0票数 1

当从不安全的http://,向我的网站发出请求时,我希望它被重定向到https://.

我的根目录中有html和php文件。根据请求路径,我将决定是提供HTML文件还是PHP文件。

下面是我现有的.htaccess文件。

代码语言:javascript
运行
复制
RewriteEngine On
RewriteRule "^(news_[^.]+|faq|terms|get).*" "$1.php" [NC,L]

以上配置可以很好地为来自安全域和不安全域的文件提供服务。

但是,当我试图通过更改上面的配置来强制SSL时

代码语言:javascript
运行
复制
RewriteCond %{HTTP:X-Forwarded-Proto} =http [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} =""
RewriteCond %{HTTPS} !=on
# # Redirect to https version
RewriteRule ^get$ "https://example.com/get.php" [L]
RewriteRule ^faq$ "https://example.com/faq.php" [L]
RewriteRule ^terms$ "https://example.com/terms.php" [L]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

它强制对从目录中服务的所有html页面使用SSL。但是/get,/faq,/terms正在获得请求超时。

我该怎么解决呢?我在哪里做错了?

EN

Stack Overflow用户

回答已采纳

发布于 2018-01-12 01:09:44

代码语言:javascript
运行
复制
RewriteEngine On
### WWW & HTTPS# ensure www.
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# ensure https
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
### WWW & HTTPS

这样就行了。编辑您的.htaccess以反映相同的内容,并将其放置在根中。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48217940

复制
相关文章

相似问题

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