2016-10-17 19 views
1

私はgodaddyで自分のウェブサイトをホストしており、最近SSL証明書を購入したので、httpsトラフィックも実行できます。しかし、すべてのhttpsトラフィックを通常のhttpでアクセスできない特定のフォルダに移動する必要があります。また、特定のフォルダをメインのhttpドキュメントルートのサブフォルダにしたくありません。htaccess httpsトラフィックを特定のフォルダにリダイレクトしますか?

GoDaddyのcPanelのフォルダ構造:デフォルトで

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

、/ public_htmlのために行くだろう.foo.comを「WWW」のためのすべての標準のHTTPトラフィック - しかし、私はすべてのトラフィックを得ることができる方法https://api.foo.comがにマップするために/ private_htmlフォルダ?

私は、.htaccessがこれを行うことができますが、これを行う方法を見つけることはできないと言われています。私はhttpsを/ home/myAccountFolder/public_html/secureにリダイレクトすることができますが、完全に異なるルートフォルダである/ home/myAccountFolder/private_htmlに行きたいと思います。

また、私はGoDaddyのcPanel環境内で仮想ホストを作成/管理するためのサーバー設定にアクセスできません。私ができることは、ディレクトリを制御することと、私のウェブサイトの.htaccessファイルに入ることだけです。あなたはsecure/フォルダにapi.foo.comをリダイレクトするために、このルールを使用することができます.htaccessをあなたのサイトのルート内

+0

アクセスがなければサーバー設定に 'DocumentRoot'以外のパスを使用することはできません – anubhava

+0

@anubhavaバマーです。私はこれが答えになると思った。私は/ home/myAccountFolder/public_html/secureを実行する必要があると思いますが、どのようにしてHTTPトラフィックが安全なフォルダに到達するのを防ぐことができますか?具体的には、https://api.foo.com宛てのトラフィックが/ public_html/secureフォルダにアクセスできるようにするだけです。そのホスト/ドメイン要求に来ていない場合、そのフォルダにはアクセスできません。 – rolinger

答えて

0

:インサイド

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 
+0

これに感謝します。私は様々なURLをテストしていますが、今のところリダイレクトが動作しているようです。しかし現在、https://www.foo.comはhttps://api.foo.comにリダイレクトしており、http://www.foo.com/apiはhttps://api.foo.com/にリダイレクトしています。 api - これらの受信リクエストがリダイレクトされるのを防ぐことは可能ですか?私は、https://api.foo.comへのリクエストが/ apiフォルダに到達できるようにしたいだけです。 – rolinger

+0

リクエストが 'http:// foo.com/api'として来たらどうなりますか? 'http:// api.foo.com /'へのリダイレクトを引き起こすのか、403原因があるのでしょうか? – anubhava

+0

私はそれが403を引き起こすことを望むでしょう。私がapiフォルダに到達する唯一の事は、https://api.foo.com、 'api'フォルダのためのトラフィックです。私は、httpがhttpのみで、apiがhttpsであることを明確にすると思います。したがってhttps://www.foo.comはhttp://api.foo.comと同様に403になります。相互受粉を防ぐことを試みている。 :-) – rolinger

関連する問題