我已经阅读了许多线程这和尝试了许多迭代得到重定向工作为我的网站,但仍然不能得到它的工作。 这是几年前在别人的帮助下建立起来的,现在我想不起其中的一些细节了。
当前工作:
http:// mydomain.com (dns)
http:// www.domain.com (dns)
https:// api.domain.com (dns) // points to directory /api
myDomain.com的根目录中是打开了重写功能的。htaccess文件:
RewriteCond %{HTTP_HOST} ^api\. [NC]
RewriteRule !^api/ api%{REUEST_URI} [L,NC] // this works
/API目录和子域api.mydomain.com有自己的HTTPS流量证书。 在/api目录中,我有另一个。htaccess文件。 现在,由于对此没有太多的经验,我想不起来为什么要有第二个。htaccess文件--或者它是否仍然需要。
RewriteConf %{HTTP_HOST} !^api\. [NC,OR]
RewriteCond %{HTTPS} off
RewriteRule ^ - [F]
以上这些都在起作用。
首先,有人能帮助解释一下这两个。htaccess文件--都是需要的吗? 第二个域使用%{HTTPS}off
具体做什么--当该子域特别需要HTTPS时。
第二,我试图添加一个新的子域,它将指向一个新的HTTPS子目录。 我希望此新子域的HTTP和HTTPS通信重定向到相同的HTTPS位置:
http://portal.mydomain.com -> rewrite OR redirect to https://portal.mydomain.com
https://portal.mydomain.com -> rewrite to `/api/vendor`
为此,我是否需要重写这两个。htaccess文件? -我试过很多组合,但没有一个是有效的。 当我转到http://portal.mydomain.com时,从/cgi-Sys文件夹中看到一个错误网页sorry-IP changed/site moved/confi error
page coughout up。
当我访问https://portal.mydomain.com时,我看到禁止-403错误
RewriteConf %{HTTP_HOST} !^api\. [NC,OR]
RewriteCond %{HTTPS} off
RewriteRule ^ - [F]
当主机不包含API
word或HTTPS
协议时,此规则将引发Firbideen 403
错误。