0

正規表現を使用してasp.netアプリケーションでURL書き換えを使用しています

仮想URLは

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

元のURLは

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

アプリケーションパスは~/ProductDatabaseCMS

私のアプリケーションにはスタイルシートを使用するマスターページがあり、パスは

~/App_Themes/Styles/Style_Sheet.css

URLをリクエストしています

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

ハイパーリンクコントロールを使用しているアプリケーションのWebページの1つからですが、その場合、スタイルシートはパスを使用しているため、このページでは機能しません。

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

この場合私がしなければならないこと。

4

2 に答える 2

1

相対 URI を使用して外部スタイルシートを参照する場合は、これを考慮する必要があります。相対 URI は、特に宣言されていない場合、現在のリソースの URI であるベース URI から常に解決されます。

したがって、要求したときに HTML ドキュメントに/foo/bar相対 URI 参照がある場合、ベース URIとして解決されます。css/baz.css/foo/css/baz.css/foo/bar

この問題を解決するには、次の 2 つのオプションがあります。

  1. 絶対 URI または少なくとも絶対パスを使用してリソースを参照する (例: /App_Themes/Styles/Style_Sheet.css)、または
  2. BASEHTML 要素 (例: )を使用して適切なベース 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 に答える