我在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文件。
答案 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