Apache htaccess mod_rewrite-阻止对目录的访问,除非请求是使用特定主机完成的
我搜索过谷歌,但不知道怎么做: 如果请求是在特定主机上完成的,如何阻止对特定目录的访问 让我举个例子。 我有a.com和b.com等地址指向同一文档根目录(即/) 我需要阻止对/sites/private/directory的访问,除非使用a.com发出请求。只有在使用a.com完成请求时,才能访问/sites/private/目录Apache htaccess mod_rewrite-阻止对目录的访问,除非请求是使用特定主机完成的,apache,.htaccess,Apache,.htaccess,我搜索过谷歌,但不知道怎么做: 如果请求是在特定主机上完成的,如何阻止对特定目录的访问 让我举个例子。 我有a.com和b.com等地址指向同一文档根目录(即/) 我需要阻止对/sites/private/directory的访问,除非使用a.com发出请求。只有在使用a.com完成请求时,才能访问/sites/private/目录 谢谢。我现在无法测试这一点,但这段代码是从使用setenif窃取和修改的,可能会有帮助: SetEnvIfNoCase Host "a.com" HTTP_MY_H
谢谢。我现在无法测试这一点,但这段代码是从使用
setenif
窃取和修改的,可能会有帮助:
SetEnvIfNoCase Host "a.com" HTTP_MY_HAS_HOST
Order Deny,Allow
Deny from All
Allow from env=HTTP_MY_HAS_HOST
您可以使用正则表达式作为主机名。您的意思是,如果有人单击
a.com
上的链接?或者从a.com
服务器发出物理请求?在a.com上发出请求。因此,在运行a.com的web服务器上运行一个程序或服务,当该程序发出请求时,它应该通过,而所有其他访问者都不应该通过。是的,对不起,我的语法有点含糊不清。我试图在不使用虚拟主机的情况下构建某种虚拟主机环境(实际上我没有访问权)。我有几个域指向同一台机器和同一个文档根文件夹。我设法使用.htaccess将来自不同域的请求转发到不同的文件夹(无浏览器地址栏更改)。但我不知道如何阻止对这些文件夹的直接访问,例如使用。实际上完全阻止对/sites/directory的访问可以解决问题,但我无法找到不破坏隐藏转发的方法,因此我尝试只允许访问,至少在/sites/It上禁用目录列表。这实际上会解决我遇到的其他一些问题。非常感谢。嗨,先生。需要帮助!请查收