所以我有多个(子)域。所有这些都链接到一个服务器,但在具有不同文件结构的不同文件夹上。例如:
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/
每个webapp都有自己的.htpasswd-protection,这是.htaccess文件:
# Password
AuthType Basic
AuthName "Password Protected Area"
AuthUserFile /www/serverid/webpages/webapp1/.htpasswd
Require valid-user
现在我想在子域上创建一个网页,列出并链接所有的webapps。此文件也应受密码保护。 如果用户使用此受密码保护的列表导航到其中一个webapp页面,则应跳过对webapps的htaccess-protection。
如果用户跳过列表页面并直接导航到webapp-domain,则密码保护应该照常显示。
有没有办法实现这个可能非常罕见的功能?
答案 0 :(得分: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>