.htaccess在共享主机ssl上重写多个域



我在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]

最新更新