2017-08-10 11 views
1

私は複数の(サブ)ドメインを持っています。それらはすべて1つのサーバーにリンクされていますが、異なるファイル構造を持つ異なるフォルダにあります。ユーザーが特定のWebページから来た場合、.htaccessで認証をスキップする方法は?

http://webapp1.example.com/ //Subdomains don't have https (no wildcard) 
https://www.example.com/webapp_that_needs_https (some webapps are required to have https and therefore can't be on a subdomain) 
http://webapp2.example.com/ 

すべてのWebアプリケーションは、独自の.htpasswdの保護を持っている、これは.htaccessのファイルである:例えば

# Password 
AuthType Basic 
AuthName "Password Protected Area" 
AuthUserFile /www/serverid/webpages/webapp1/.htpasswd 
Require valid-user 

今、私はサブドメイン上のWebページを作りたい、リストやリンクのことすべてのwebapps。このファイルもパスワードで保護する必要があります。 ユーザーがこのパスワードで保護されたリストを使用してWebアプリケーションページの1つに移動する場合、Webアプリケーションのhtaccess保護はスキップする必要があります。

ユーザがリスティングページをスキップしてwebapp-domainに直接ナビゲートすると、パスワード保護は通常どおりに行われます。

これはおそらく本当に珍しい機能を実現する方法はありますか?

答えて

0

if directiveを使用してこれを行うことができます。では、あなたの.htaccessあなたが使用します。

<if "%{HTTP_HOST} != 'example.com'"> 
    .... 
</if> 

だからあなたはあなたがそれらをif directive中から参照したいドメインをかけることになり、それが一致しない場合、それはAuth Typeを実行します。最終的なコードを残して:

<if "%{HTTP_HOST} != 'example.com'"> 
    # Password 
    AuthType Basic 
    AuthName "Password Protected Area" 
    AuthUserFile /www/serverid/webpages/webapp1/.htpasswd 
    Require valid-user 
</if> 
+0

この機能は@skalibranで利用できましたか? – Lag

+0

こんにちは、私の遅い答えに申し訳ありません! を使用して、私は以前のHTTP_HOSTを要求していませんでした。私はその中に深く掘り下げる時間を見つけることを願っています。 – Skalibran

関連する問題