【发布时间】:2019-11-18 00:55:54
【问题描述】:
我需要我的所有域都有 https 证书,但是当我创建 .htaccess 文件时,网站没有关闭。
故事是这样的: 我有一个 Ruby on Rails 网站让我们调用:web1.com.br
我也有域名:web1.com、web2.com.br 和 web2.com
我进行了 DNS 映射,因此每当人们键入这 3 个域时,他们都会转到我在 web1.com.br 上的原始主机(并且不会更改用户的 url)并且它工作正常。
但是当有人键入其他 3 个域时,我没有我的 https 证书。只有在我原来的网站 web1.com.br 我有让我们加密证书
我向我的主机提供商寻求帮助,他们告诉我在我的 www 文件夹中添加一个 .htaccess 文件,但我可能做错了什么。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^web1.com.br.
RewriteRule ^ http://www.web1.com.br%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} ^web1\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.web1\.com$
RewriteRule ^$ http\:\/\/www\.web1\.com\.br\/ [R=301,L]
RewriteEngine On
RewriteCond %{HTTP_HOST} ^web1.com.br.
RewriteRule ^ http://www.web1.com.br%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} ^web2\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.web2\.com$
RewriteRule ^$ http\:\/\/www\.web1\.com\.br\/ [R=301,L]
RewriteEngine On
RewriteCond %{HTTP_HOST} ^web1.com.br.
RewriteRule ^ http://www.web1.com.br%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} ^web2\.com\.br$ [OR]
RewriteCond %{HTTP_HOST} ^www\.web2\.com\.br$
RewriteRule ^$ http\:\/\/www\.web1\.com\.br\/ [R=301,L]
我创建了 .htaccess 文件,我的网站(在所有域上)关闭了,给出了 500 响应:
"The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at web@web1.com.br to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.
Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request."
我删除了文件,网站又恢复了在线
您可能会说,我是个菜鸟,但找不到可以帮助我的人。我不知道是我做错了 .htaccess 还是我的托管支持给了我错误的信息。
谢谢
【问题讨论】:
-
抱歉,如果您操作不同的主机(主机名,有时也称为“域”或“子域”),那么您需要不同的证书。没有办法解决这个问题。任何正常的浏览器都不会接受与请求的主机名不匹配的证书。
标签: .htaccess url https dns mapping