htaccess将https流量重定向到特定文件夹?

时间:2016-10-17 15:25:04

标签: apache .htaccess ssl

我在godaddy上托管我的网站,最近购买了SSL证书,所以我也可以运行https流量。但是,我希望所有https流量都转到常规http无法访问的特定文件夹。另外,我不希望特定文件夹成为主http文档根目录的子文件夹。

GoDaddy cPanel文件夹结构:

/home/myAccountFolder/
    /cache
    /logs
    /public_html
    /private_html
    ...

默认情况下,“www”.foo.com的所有标准http流量都会转到/ public_html - 但是如何让https://api.foo.com的所有流量都映射到/ private_html文件夹?

我被告知.htaccess可以做到这一点,但似乎无法找到如何做到这一点。我知道我可以将https重定向到/ home / myAccountFolder / public_html / secure,但我希望它转到/ home / myAccountFolder / private_html - 一个完全不同的根文件夹。

此外,我无法访问服务器配置或(我知道)能够在GoDaddy的cPanel环境中创建/管理虚拟主机。我所能做的就是控制目录以及我网站上的内容.htaccess文件。

1 个答案:

答案 0 :(得分:0)

在您的网站根目录.htaccess中,您可以使用此规则将api.foo.com重定向到secure/文件夹:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^api\. [NC]
RewriteRule !^api/ api%{REQUEST_URI} [L,NC]

api/.htaccess内,您可以使用此规则仅允许http://api.foo.com

RewriteEngine On

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

# rest of the rules