我在Apache Web服务器上有一个共享主机,可以通过cpanel访问我的主机帐户 主域abc.in用于访问存储站点文件的public_html文件夹。
我通过cpanel add on domains添加了一些与abc.com无关的域名。 他们就是 def.com ghi.com jkl.com
所以我在共享主机上的域名文件系统将是这样的
/ public_html / abc.in
的文件或目录添加域名也在
上 /public_html/def.com/
/public_html/ghi.com/
/public_html/jkl.com/
所以你可能已经理解了工作系统..
def.com网站文件存储在public_html文件夹的子目录中,如上所示
类似地
ghi.com网站文件存储在public_html文件夹的子目录中,如上所示
jkl.com网站文件存储在public_html文件夹的子目录中,如上所示
现在问题是我需要强制主域名abc.com上的https / ssl
仅针对abc.in和support.abc.in发布ssl
对于abc.in和support.abc.in
的www版本无效根据我的知识,网站应该只重定向到一个版本的网站。
是www版本或非www版本
所以我在cpanel中为abc.in启用了重定向
所以无论是www.abc.in还是abc.in它都只会去abc.in
如前所述,ssl仅发布给abc.in和support.abc.in
现在我想强制ssl到abc.in和support.abc.in的整个域
我为此尝试了cpanel重定向,但多次重定向使得循环和网站无法访问。
我在这里找到了一个.htaccess重写Force HTTPS and strip WWW without receiving Cert error
但启用它会使托管在子目录中的所有添加域重定向到ssl版本中的abc.in。
所以我只需要ssl访问abc.in和support.abc.in
我将需要单独的规则(http)来添加域名,我将在以后添加更多域名。
所以我需要一个针对这种情况推广的htaccess配置,以便我可以配置添加域以在将来需要时使用他们的ssl以及我将来添加的域添加规则。
我请求超级网站管理员和程序员根据我的情况为htaccess提供一些通用/自定义通用配置。
由于我是网页设计师,我对htacess重写并不了解,而且我对此很新。
任何理解这个问题的人,请提供您宝贵的意见。您的回复对我来说非常重要。谢谢。
请解释解决我的问题的代码,以便我可以在以后需要时自定义。
答案 0 :(得分:0)
将此代码放入DOCUMENT_ROOT/.htaccess
文件中:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(support\.)?abc\.com$ [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,R=301,L]