如何将http和https重定向到子域的.htaccess。

问题描述 投票:0回答:1

我看了很多关于这方面的帖子,也尝试了很多反复的方法来让我的网站重定向成功,但还是不能成功。 这是几年前在别人的帮助下建立的,现在我已经记不清一些具体的细节了。

目前工作。

http:// mydomain.com (dns)
http:// www.mydomain.com (dns)
https:// api.mydomain.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流量有自己的CERT. 在api目录下我还有一个.htaccess文件。 现在,我没有太多的经验,我不记得为什么我有这第二个.htaccess文件--或者如果它仍然需要。

RewriteConf %{HTTP_HOST} !^api\. [NC,OR]
RewriteCond %{HTTPS} off
RewriteRule ^ -   [F]

以上所有的工作都在进行中。

首先,谁能帮助解释一下这两个.htaccess文件--都需要吗? 第二个文件具体是做什么用的 %{HTTPS} off - 当该子域特别需要HTTPS时,我想添加一个新的子域,指向一个新的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。 我得到一个错误的网页 SORRY - IP Changed/Site Moved/Confi Error 页面从cgi-sys文件夹中咳出。

而当我进入 https:/portal.mydomain.com。 我得到 Forbidden - 403 error

php apache .htaccess redirect mod-rewrite
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.