Перезапись URL - PullRequest
       18

Перезапись URL

0 голосов
/ 17 февраля 2009

Я использую перезапись URL в моем приложении asp.net, используя regx

виртуальный 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

с одной из веб-страниц приложения, использующей элемент управления Hyperlink, но в этом случае таблица стилей не работает для этой страницы, поскольку она принимает путь

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

что мне делать в этом случае.

Ответы [ 2 ]

1 голос
/ 17 февраля 2009

Если вы используете относительный 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. установить подходящий базовый URI с помощью HTML-элемента BASE (например, <base href="/">), чтобы каждый относительный URI разрешался из этого нового базового URI.
0 голосов
/ 17 февраля 2009

Используйте «корневой путь» для CSS href. Вы начинаете href с "/", вот и все.

Попробуйте: /App_Themes/Styles/Style_Sheet.css

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...