0

我正在使用 regx 在我的 asp.net 应用程序中使用 URL 重写

虚拟网址是

/ProductDatabaseCMS/(?<category>\w*)/Product/(?<product>\w*)\.aspx

原始网址是

/ProductDatabaseCMS/Product.aspx?PROD_ID=${product}

应用路径是~/ProductDatabaseCMS

我的应用程序有使用样式表的母版页,路径是

~/App_Themes/Styles/Style_Sheet.css

我正在请求网址

/ProductDatabaseCMS/(?<category>\w*)/Product/(?<product>\w*)\.aspx

从使用超链接控件的应用程序网页之一,但在这种情况下,样式表不适用于此页面,因为它正在使用路径

~/ProductDatabaseCMS/(?<category>\w*)/Product/App_Themes/Styles/Style_Sheet.css

在这种情况下我必须做什么。

4

2 回答 2

1

如果您使用相对 URI 来引用外部样式表,则必须考虑这一点:相对 URI 总是从基 URI 解析的,如果未另行声明,则该基 URI 是当前资源的 URI。

因此,如果您请求/foo/bar并且 HTML 文档中有相对 URI 引用css/baz.css,它将被解析/foo/css/baz.css/foo/bar基本 URI。

要解决此问题,您有两种选择:

  1. 使用绝对 URI 或至少使用绝对路径来引用资源(例如/App_Themes/Styles/Style_Sheet.css),或
  2. BASE使用HTML 元素(例如)设置合适的基础 URI <base href="/">,以便从新的基础 URI 解析每个相对 URI。
于 2009-02-17T10:49:38.833 回答
0

对 CSS href使用“根相对路径”。你用“/”开始href,就是这样。

尝试:/App_Themes/Styles/Style_Sheet.css

于 2009-02-17T10:50:12.733 回答