php - 为单个域强制使用 https(复杂的实现)

标签 php apache .htaccess mod-rewrite ssl

我有一个在 apache 上的专用服务器(单一 IP)上运行的网站。 多个域指向该网站。例如:sub.abc.com、sub.bcdaf.com

我现在已经为其中一个域 (sub.abc.com) 购买了一个 SSL 证书。 Only SSL 仅在用户访问时起作用https://sub.abc.com

我想强制用户在访问http时使用https。默认情况下,当他们访问 sub.abc.com 时,它应该转到 https://sub.abc.com。 .我如何通过 htaccess 执行此操作?

请注意 https 应该只对 sub.abc.com 有效并且应该强制用户应该只对 sub.abc.com 发生

我观察到在 .htaccess 中使用 mod_rewrite 会影响站点的性能。 请提出最佳方法。

谢谢,
拉吉

最佳答案

在你的 .htaccess 中这样的东西应该可以工作

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

关于php - 为单个域强制使用 https(复杂的实现),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19194686/

相关文章:

Apache 2 : redirect to an IP address (container's address) accoring to the url

php - 无法创建表 - mysqli

php - MySql 在其他表中获取总和 : one table contains values, 是其余数据

php - MAMP 和 PHP “SSL operation failed with code 1”

svn - 如何使用提交后 Hook 将提交的文件从 SVN 复制到 Web 目录?

Apache : Restrict access to URI, 不是资源

PHP 生成的 javascript 未执行

php - 在使用相互/双向身份验证(使用 p12 证书)访问页面时提示每个 session 输入密码

apache - htaccess 不同页面的相同重写规则不起作用

svn - .htaccess 文件中的 If 语句,仅在特定目录中启用密码保护