我注意到,当使用 iis 7.0 中的 URL 重写器时,根 url 字符“~”可以正常工作,但是当我用 global.asax 文件重写 url 时,文件不再正确映射。
为什么会这样?在使用 global.asax 重写 url 时,我该怎么做才能正确映射所有文件?
If URL.Contains("/myurl/") Then
Context.RewritePath("~\myurl.aspx")
end if
您的问题可能是生成的页面 url 不再引用有效位置。
如果用户要去http://www.yoursite.com/myurl/home.aspx
并且该页面在 处引用了样式表css/stylesheet.css
,则在重写路径时将是错误的。
在这种情况下,浏览器将寻找http://www.yoursite.com/myurl/css/stylesheet.css
,而不是http://www.yoursite.com/css/stylesheet.css
如果您的样式表引用是相对的,则需要放置一个样式表引用,该引用引用原始 URL中文件的位置。否则,您可以输入完整路径以避免任何问题。