我正在同时处理 asp 和 asp.net 页面。我想在我的本地 iis (v5.1) 中托管应用程序,但后来了解到 iisexpress 适合我的需求。但无论我使用 iis 5.1 还是 iis express,我似乎都有问题。
我使用的 asp 页面是指驻留在不同虚拟目录中的静态资源(css、javascript 等)。例如,一个 css 文件包含看起来像这样。
<link rel="stylesheet" href="/common/include/style/css.css"/>
如果这样的事情应该从测试环境中运行,那么上面的 url 将解析为:
http://testing/common/include/style/css.css
这与我的主要应用程序所在的位置形成鲜明对比。这看起来像:
http://testing/myapp/default.aspx
现在,如果我在端口 8082 中运行 iisexpress,并且有一个入站请求,例如:
http://localhost:8082/common/inlcude/style/css.css
它将遇到 404 错误。是否可以指示 iss 或 iis express 解析这样的 url(以 开头/common/...
)说http://testing/common/...
更新(2011 年 5 月 31 日,美国标准时间下午 7 点):
一直在研究什么是 url 重写,从例子中我明白了一些事情。我不确定我想要的是否是 url 重写本身。再次以 iisexpress 类比,我知道会有一个入站请求 uri,例如:
http://localhost:8082/common/inlcude/style/css.css
但我希望这实际上由以下 uri 提供:
http://testing/common/include/style/css.css
我使用 iisexpress 虚拟化的文件夹中不存在前一个 uri。
我需要在这里重写网址吗?
此外,在 ASP 中,我包含如下行:
<!-- #include virtual="/common/include/classes/utils.asp" -->
甚至这些事情都应该解决给相应的对应http://testing/...
方。
ps:我做的都是iis 5.1