我需要为单个网站提供密码保护。这是一个seo友好的网址: 默认路径为:
http://www.website-url.com/index.php?id_cms=xx&controller=cms
这是seo url:
http://www.website-url.com/content/xx-login
我已经有了.htaccess和.htpasswd,但是如何仅为此网址指定.htaccess中的重写?我试过这个:
<filesMatch "http://www.website-url.com/content/xx-login">
IndexIgnore .htaccess .htpasswd
AuthUserFile /absolut_path/.htpasswd
AuthName "Login"
AuthType Basic
require valid-user
</filesMatch>
我正在使用Prestashop。
答案 0 :(得分:1)
FilesMatch不能以这种方式工作,您可以尝试使用SetEnvIf来绕过Auth,除非URI是特定的(我收集的是你想要做的):
IndexIgnore .htaccess .htpasswd
SetEnvIfNoCase Request_URI "^/content/xx-login" SECURED
# enforce auth if SECURED
AuthType Basic
AuthName "Login"
AuthUserFile /absolut_path/.htpasswd
Require valid-user
Order allow,deny
Allow from env=!SECURED
Satisfy any