我在Apache web服务器上有一个共享主机,可以通过cpanel访问我的主机帐户主域abc.in用于访问存储站点文件的publichtml文件夹。
我通过cpanel附加域添加了一些与abc.com无关的域。他们就是def.comghi.comjkl.com
所以我的共享主机上的域的文件系统将像这个
/中abc.的public_html/文件或目录
附加域也在上
/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
ssl仅针对abc.in和support.abc.in颁发,仅针对
对于abc.in和support.abc.in 的www版本无效
根据我的seo知识,一个网站应该只重定向到一个版本的网站。
是www版本或非www版本的
所以我在cpanel 中为abc.in启用了重定向
因此,无论是www.abc.in还是abc.in,它都将只转到abc.in的
如前所述,ssl仅针对abc.in和support.abc.in发布,仅针对
现在我想强制ssl到abc.in的整个域并支持.abc.in
我尝试过cpanel重定向,但多次重定向导致循环和网站无法访问。
我在这里发现了.htaccess重写强制HTTPS并剥离WWW而没有收到证书错误
但启用它会使托管在子目录中的所有附加域重定向到ssl版本中的abc.in。
所以我只需要ssl访问abc.in和支持.abc.in
我将需要针对附加域的单独规则(http),稍后我将添加更多的附加域。
因此,我需要一个针对这种场景通用的htaccess配置,这样我就可以配置附加域,以便在未来需要时使用它们的ssl,以及我将来添加的附加域的规则。
我请求超级网站管理员和程序员为我的情况提供一些通用/自定义的htaccess通用配置。
由于我是一名网页设计师,我对htaccess重写一无所知,而且我对此还很陌生。
任何了解该问题的人,请提供您的宝贵意见。你的回复对我来说非常重要。谢谢。
请解释一下解决我问题的代码,这样我以后可以根据需要进行自定义。
将此代码放入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]