![IIS7两个目录,一个站点](https://linux22.com/image/552467/IIS7%E4%B8%A4%E4%B8%AA%E7%9B%AE%E5%BD%95%EF%BC%8C%E4%B8%80%E4%B8%AA%E7%AB%99%E7%82%B9.png)
我有一个网站 www.mysite.com,上面有一个应用程序,现在我们也将把我们的网站放在这里。
问题是该应用程序是不可触碰的,并且想将其排除在网站团队之外。
这是我想要做的事情的图像:
服务器数据,
应用程序:
C:\myapplication\app.php
C:\myapplication\appfolder\index.html
网站:
C:\myweb\index.html
C:\myweb\webfolder\index.html
从网络访问,
应用程序:
www.mysite.com\app.php
www.mysite.com\appfolder\index.html
网站:
www.mysite.com\index.html
www.mysite.com\webfolder\index.html
我知道有虚拟文件夹,但我不想一个一个地添加文件夹……
网站根目录中有应用程序的文件,网站也是如此。
我会创建 2 个不同的 FTP 帐户,一个用于C:\我的应用程序一个目录:\我的网
可以这样做吗?
我正在使用带有 IIS 和 PHP 的 Windows 2008 R2
谢谢。
答案1
这是一个想法(虽然未经测试):
1)为您的 php 应用程序创建虚拟文件夹(我知道,您说过您不想要它)
2)使用URL-Rewrite模块重写URL(例如/app.php -> /virtual/app.php
)。
您的访问者应该会看到正常的 URL,但其后面的位置会有所不同。
如果您愿意,您可以用符号链接或目录连接替换虚拟文件夹 - 但它有一些缺点,因为这种符号链接文件夹将是网站的物理部分(至少在服务器上)并且可能会被错误覆盖(除非您设置了适当的访问权限)。
这种方法可能存在的问题是您必须依赖于您的 php 应用程序的编写情况 - 它可能会错误地计算 include/require 和其他文件相关操作的路径(在一个地方它们可能使用真实文件位置(例如 C:\myapplication\app.php),在另一个地方它们可能引用网站看到的路径(SERVER_ROOT),例如 C:\myweb\virtual\app.php) - 您确实必须对其进行测试。