为了解释我的目的,这个目录结构的示例:
- 网址:
- C:\www\文件夹-1
域“example.com”有“C:\www\”作为主目录,域“member.example.com”有主目录“C:\www\folder-1”。
我希望所有通过“exmaple.com”连接到 ISS 服务器的客户端都无法访问“C:\www\folder-1”。
但如果我连接“member.example.com”,我应该可以访问。
PS:我正在使用 WordPress,并且想要“隐藏”wp-admin 文件夹。
答案1
为了让两个域名都响应,您需要在 IIS 中设置两个网站,每个主机头一个,并具有如上所述的主目录。
然后打开某种类型的身份验证(表单、集成窗口等),并通过您选择的身份验证方案确保用户具有对网站的所需访问权限。
对于“隐藏 wp-admin”的任务,你可以看看这个博客文章与 IIS 服务器上的此类任务相关,或者自行进行 Google。
答案2
不要那样做。
会员网站是否存在外部其他站点的文件夹结构。
否则,您将使虚拟与物理站点布局变得复杂,这可能会导致问题、错误配置和漏洞。
就其本身而言,这可以说是一种错误配置。
相反,对每个网站根目录使用完全独立的文件夹结构:
C:\WwwFiles\ExampleSite->www.example.com
C:\WwwFiles\Members->members.example.com
在 IIS 管理器中将每个网站定义为自己的实体,指向相关路径(必要时使用主机标头)。
这既能保持物理和逻辑站点隔离,又能避免人们能够遍历相同的目录结构(例如,example.com)进入会员,而不必记住保护它(或者在 URL 过滤中执行诸如隐藏段之类的操作,这也会这样做)。