Добавить URL-адрес домена в относительные пути href и src

Я использую модель MVC и могу вызывать веб-страницы с такими URL-адресами, как http://mywebsite.com/product/productid.html.
Моя структура папок следующая:

  • views — папка представлений
  • js — папка javascript и jquery
  • css — папка с таблицами стилей
  • images — папка с изображениями

В папке views содержатся веб-страницы, используемые для отображения данных пользователям. Они могут включать сценарии, изображения и таблицы стилей. Следующий фрагмент неверен

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

поскольку веб-страница вызывается с указанным выше URL-адресом, а css не может быть найден с относительным путем. Чтобы решить эту проблему, я определил переменную DOMAIN в PHP и изменил код на

<link rel="stylesheet" href="<?php echo DOMAIN;?>css/style.css" media="all" type='text/css' />

Это работает, но вынуждает меня добавлять фрагмент <?php echo DOMAIN;?> к каждому атрибуту href и src на каждой странице. Можно ли его автоматизировать? Я пытался использовать селектор :before, но понятия не имею, как его использовать в этом случае.

Любые идеи? Заранее спасибо.


person Giorgio    schedule 12.03.2014    source источник
comment
почему нельзя найти CSS с относительным путем?   -  person in need of help    schedule 12.03.2014
comment
Это потому, что я вызываю веб-страницу с URL-адреса, например http://mywebsite.com/product/productid.html. Продукт представляет собой виртуальную папку, созданную с помощью модели MVC и файла .htaccess. С помощью URL-адреса он находится на том же уровне, что и папка css, поэтому, если у меня есть файл внутри него, я не могу писать относительные пути: на самом деле он не содержит папку css. Надеюсь, теперь стало понятнее, в противном случае, пожалуйста, спрашивайте.   -  person Giorgio    schedule 12.03.2014


Ответы (1)


:before относится только к CSS, так что здесь он не используется.

На самом деле нет способа автоматически добавить его в PHP, который не будет интенсивно использовать процессор и/или потребует значительно более сложной настройки, чем кажется, что у вас есть прямо сейчас. Лучше всего использовать поиск и замену в редакторе кода.


Использование <?= DOMAIN; ?> вместо этого было бы короче, BTW. (см. этот вопрос для получения дополнительной информации)

person Mooseman    schedule 12.03.2014