ASP.NET + URL重写:如何处理主题,css,js等资源?

时间:2010-03-02 05:51:07

标签: asp.net mod-rewrite isapi-rewrite

我使用Helicon ISAPI Rewrite v3编写了以下网址:

www.foo.com/tags/tag1 --> www.foo.com/Pages/Articles/ArticleListing.aspx?tags=tag1

但我提到的.css,.js正被浏览器访问

www.foo.com/tags/tag1/style.css
www.foo.com/tags/tag1/myjs.js

但这些文件位于

www.foo.com/css/style.css
www.foo.com/js/myjs.js

如果没有对域名“www.foo.com”进行硬编码,我如何能够实现错误的引用?

2 个答案:

答案 0 :(得分:0)

处理CSS和其他静态文件(即图像和javascript)的一个技巧是在页面的head部分包含一个基本标记,例如

这样,所有CSS路径等都将相对于基本标记中的href进行解析。

有关详细信息,请查看此帖子: http://chriscavanagh.wordpress.com/2008/11/06/aspnet-routing-just-enough-rope/

答案 1 :(得分:0)

首先,验证您的RewriteRule不仅仅包含标签。一个简单的解决方法可能是将RewriteCond置于RewriteRule之前。

RewriteCond %{REQUEST_FILENAME} !(.js|.css|.gif|.jpg)

您的样式表链接标记可以是:

  <link href="/css/style.css" rel="stylesheet" type="text/css" />