2017-07-04 87 views
0

我有一個.htaccess文件,在我的網站的每個頁面上請求登錄憑據。 .htaccess僅位於我的dev文件夾中。然而每當我去我的生活網站(不是開發)我仍然要求登錄憑據。。htaccess認證只有一個子目錄

我想要的是:只在我的dev子目錄中有.htaccess請求密碼。因此,例如,當我去dev.mywebsite.com時,我將被要求提供登錄憑據。

  • 這是我的直播網站/ WWW我的文件路徑/ live_website
  • 這是我開發的網站我的文件路徑/ WWW/live_website的/ dev

(.htaccess文件只存在在/ WWW/live_website的/ dev)

這裏是我的.htaccess是什麼樣子:

AuthUserFile /www/live_website/dev/.htpasswd 
AuthType Basic 
AuthName "Please login" 
Require valid-user 

更新:已解決

我通過編輯我的.htaccess來解決這個問題。有關完整的探索,請參閱我對下面的Capsule的回覆或我的回答。

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^dev.mywebsite.com 
RewriteRule ^(.*)$ http://mywebsite.com/dev/$1 [L,NC,QSA] 

SetEnvIf Request_URI ^/dev require_auth=true 

# show Basic auth dialogue only when SHOW_AUTH is set 
AuthType Basic 
AuthUserFile /www/live_website/dev/.htpasswd 
AuthName 「Please login「 

# Setup a deny/allow 
Order Deny,Allow 

# Deny from everyone 
Deny from all 

# except if either of these are satisfied 
Satisfy any 

# 1. a valid authenticated user 
Require valid-user 

# or 2. the "require_auth" var is NOT set 
Allow from env=!require_auth 
+0

它應該已經像你的意圖那樣工作了。你必須有另外一個'必須有效用戶'影響'/ www/live_website /'。或者,您需要從現場直播中找到'dev'網站上的資源。 – Capsule

+0

Hello Capsule,謝謝你的迅速回復。你是對的,它顯示我的開發網站正在使用的一些資源來自現場。我通過將子域dev.mywebsite.com重定向到mywebsite.com/dev/解決了這個問題,之後我有.htaccess請求密碼。我將在我的問題中上傳我的新.htaccess文件。再次感謝你! –

回答

0

我解決了這個改變從dev.mywebsite.com子域名重定向到mywebsite.com/dev,然後有在重定向的.htaccess請求登錄憑據。

下面我的dev文件夾中的新的.htaccess文件。

RewriteEngine on 
    RewriteCond %{HTTP_HOST} ^dev.mywebsite.com 
    RewriteRule ^(.*)$ http://mywebsite.com/dev/$1 [L,NC,QSA] 

    SetEnvIf Request_URI ^/dev require_auth=true 

    # show Basic auth dialogue only when SHOW_AUTH is set 
    AuthType Basic 
    AuthUserFile /www/live_website/dev/.htpasswd 
    AuthName 「Please login「 

    # Setup a deny/allow 
    Order Deny,Allow 

    # Deny from everyone 
    Deny from all 

    # except if either of these are satisfied 
    Satisfy any 

    # 1. a valid authenticated user 
    Require valid-user 

    # or 2. the "require_auth" var is NOT set 
    Allow from env=!require_auth