使用 IIS6,如何将文件放在子文件夹中,但让它们像在根文件夹中一样使用?
-
09-06-2019 - |
题
我们在 IIS 6 上运行的 ASP.NET 3.5 网站有两个团队正在添加内容:
- 开发团队添加代码。
- 业务团队添加简单的网页。
为了理智和组织,我们希望业务团队将他们的网页添加到项目中的子文件夹中:
根:用于开发团队的页面
内容:用于业务团队页面
但
我们希望用户能够导航到业务团队内容,而无需在其 URL 中附加“内容”,如下所述:
根:默认.aspx (可以在:www.oursite.com/default.aspx)
内容:爆米花.aspx (可以在:www.oursite.com/popcorn.aspx)
有没有一种方法可以在 ISAPI 重写工具中为每个页面创建一个配置条目?
解决方案
我现在没有任何方法来测试这一点,但我认为您可以使用 RewriteCond 上的 -f 标志来检查任一目录中是否存在文件。
RewriteCond %{REQUEST_FILENAME} -!f
RewriteCond Content/%{REQUEST_FILENAME} -f
RewriteRule (.*) Content/(.*)
类似的东西也可能会满足您的需求。
其他提示
由于扩展名是 ASPX,ASP.NET 将接收请求...您可以编写一个 HttpModule 来检查产生 404 的页面,然后也检查子文件夹。
如果您知道具有某种格式的所有页面都将来自该文件夹,那么您可以在 ASP.NET 中重写 URL(在 Global.asax 或 HttpModule 中)。
不隶属于 StackOverflow