2011-11-12 216 views
2

我的配置存在一些問題。我使用Nginx作爲我的Apache服務器的反向代理。我的網站有.htaccess身份驗證,但Nginx似乎並不理解它,所以我得到一個404錯誤。。使用nginx進行.htaccess身份驗證

我在其他答案上看到了一些翻譯,但它沒有翻譯這部分。

AuthUserFile /var/www/mywebsite/private/.htpassword 
AuthName "Acces Restreint" 
AuthType Basic 
Require valid-user 

順便說一句,你對如何翻譯這第二部分有任何想法嗎?

php_value session.gc_maxlifetime 604800 

SetEnv APPLICATION_ENV development 

謝謝大家的幫助!

回答

6

爲perfomance相關的問題,nginx by default does not look up per-directory .htaccess files,這是一個問題,如果你的主機不讓你編輯web服務器配置。

,如果你可以編輯Web服務器配置(或把新的配置到conf.d目錄) 只需添加這些行,更換/你/路徑相應

location /your/path { 
    auth_basic   "Acces Restreint"; 
    auth_basic_user_file /var/www/mywebsite/private/.htpassword; 
} 

回答你的問題的第二部分,需要更多的信息你如何使用nginx使用PHP。 如果你是綁的FastCGI(如PHP-FPM),那麼你可以使用這個方法來設置PHP的增值經銷商:

fastcgi_param PHP_VALUE "session.gc_maxlifetime=604800"; 


env APPLICATION_ENV development; 
+0

感謝這個快速的解答。這就說得通了。幸運的是,我擁有所有root權限來編輯我的web服務器配置! PHP正在與Apache合作。 Nginx僅用作反向代理。 – MaximeBernard