Существуют ли общепринятые способы, чтобы все ссылки и ссылки на изображения, сценарии, таблицы стилей относились к некоторому пути независимо от URL-адреса текущего документа?
Начнем с самого начала. Я разрабатываю пользовательскую систему управления контентом на PHP. Я использую mod_rewrite
для перенаправления всех запросов, таких как http://domain.com/path/artist/edit/25
, на http://domain.com/path/index.php?url=/artist/edit/25
. Таким образом, часть URL-адреса, следующая за http://domain.com/path/
, на самом деле является виртуальной.
Я бы хотел, чтобы все ссылки были в формате <a href="artist/show">...</a>
, а ссылки на изображения, скрипты и т.д. в формате <link href="ui/css/style.css"...>
.
Ну, это кажется возможным с:
...
<base href="http://domain.com/path/" />
...
Таким образом, я могу ссылаться на сценарии и таблицы стилей, как показано ниже:
...
<!-- Custom page style CSS -->
<link href="ui/css/style.css" rel="stylesheet" type='text/css'>
<!-- Support for CSS3 media query in IE8 -->
<script type="text/javascript" src="ui/js/respond.js"></script>
<!-- MooTools 1.6.0 -->
<script type="text/javascript" src="ui/js/MooTools-Core-1.6.0.js"></script>
...
Однако, насколько мне известно, <base href=...>
должен соответствовать текущему запросу страницы (то есть http://domain.com/path/artist/edit/25
). И это портит всю концепцию.
Вот почему мне нужно, чтобы вы уточнили:
- Является ли общепринятой практикой, когда
<base href=...>
указывает на каталог, а не на текущий URL-адрес документа? - Соответствует ли эта практика требованиям к использованию HTML-элемента
<base>
? - Повлияет ли это каким-либо образом на такие поисковые роботы, как Googlebot? Требуют ли они, чтобы
<base href=...>
соответствовал URL-адресу каждого конкретного документа?
Я также хотел бы знать, как вы решаете проблему относительных ссылок и ссылок на ресурсы, когда часть URL является виртуальной. Я обнаружил, что такие проекты, как WordPress, как правило, полностью избегают относительных ссылок и идут по «пути абсолютных ссылок».