2011-08-05 33 views
9

Tôi có một tên miền phụ cụ thể theo ngôn ngữ trỏ đến cùng một thư mục làm gốc làm trang web của tôi. Tôi sử dụng PHP để phát hiện và hiển thị ngôn ngữ..htpasswd trên tên miền phụ cụ thể

Tôi chỉ muốn đặt htpasswd trên tên miền phụ này. Hãy nhớ rằng không có thư mục vật lý cụ thể cho tên miền phụ này. Do đó, câu lệnh sẽ nằm trong cùng một htaccess làm thư mục gốc của trang web của tôi.

Tôi cần htaccess để làm điều này:

if request is mysubdomain.domain.com 
AuthUserFile /www/.htpasswd 
AuthName "Locked" 
AuthType Basic 

Cảm ơn

Trả lời

2

Đây là chưa được kiểm tra, nhưng có thể làm việc hoặc cung cấp cho bạn những gợi ý về những gì để tra cứu trong các tài liệu Apache:

SetEnvIf Host ^mysubdomain.domain.com !no-auth-required 

AuthUserFile /www/.htpasswd 
AuthName "Locked" 
AuthType Basic 
Require valid-user 
Allow env no-auth-required 
Satisfy Any 
19

Điều này sẽ hoạt động:

AuthUserFile /www/.htpasswd 
AuthName "Locked" 
AuthType Basic 
Require valid-user 

SetEnvIf Host yourdomain.com secure_content 

Order Allow,Deny 
Allow from all 
Deny from env=secure_content 

Satisfy Any 

Tôi đã trên cùng một tuyến đường như @ Haders Lindahl nhưng dường như không có "không" trong SetEnvIf vì vậy tôi đã thay đổi nó để cho phép từ tất cả và từ chối những người có env-var thiết lập.

Giải pháp của ông làm việc quá nhưng bạn phải SetEnv no-auth-required 1 đầu tiên và sau đó cho phép! Không-auth-cần unset nó (đó là những gì các ! không)

+0

trình như một say mê! Cảm ơn nhiều! Nên được xác nhận bởi tác giả :) –