2017-01-31 9 views
1

Я унаследовал веб-сайт, где предыдущий разработчик кодированный все ссылки относительно корня сайта, с ведущими обратным косыми чертами в каждой ссылке:Использование Root-Относительные ссылок С Субдоменом

<link href="/css/file.css" /> 
<script src="/js/file.js"></script> 

Это прекрасно работает, когда сайт размещен на сервере, так как ссылки будут приравнивать к:

http://www.example.com/css/file.css 
http://www.example.com/js/file.js 

Однако я пытаюсь получить эти ссылки, чтобы правильно работать, когда вызывается из вложенной для локального тестирования. В частности, я использую WAMP и переместил весь код в локальную папку с именем site по адресу http://localhost:8080/site/.

Я не могу использовать корень localhost, так как WAMP хранит там различные файлы (включая индекс, который будет перезаписан).

Очевидное решение, как много сообщений здесь, на StackOverflow предложить, чтобы просто использовать папку-относительные ссылки, такие как:

<link href="css/file.css" /> 
<script src="js/file.js"></script> 

Однако, есть буквально сотни жестко закодированных относительно корня ссылки в разных файлах, поэтому было бы здорово избегать изменения каждого из них, если это возможно.

Чтобы избежать необходимости редактировать каждую ссылку, я попытался установить в HTML <base> метку и указав папку непосредственно:

<base href="http://localhost:8080/site/"> 

Однако, это не похоже на работу.

<base> несовместим с корневыми ссылками?

Есть ли способ, которым я могу легко иметь ссылку на все файлы http://localhost:8080/site/ без необходимости вручную редактировать каждую из существующих ранее корневых ссылок? Или мне придется вручную обновлять каждый из них с относительной относительной папкой?

ответ

1

<base> несовместим с корневыми ссылками?

Нет, но абсолютный путь по-прежнему является абсолютным путем. Он разрешит относительно http://localhost:8080/site/, сбросив /site/.

Если вы хотите использовать абсолютные пути и не держите свои сайты разработки в подкаталогах, то configure your HTTP server to use Virtual Name Hosting.

Добавление пользовательских имен хостов (либо в DNS-сервер для локальной сети или в hosts файл в системе развития), такие как site.localhost и установить DocumentRoot в виртуальном хосте.

+0

Спасибо, что сообщили мне, что есть опция, которая позволяет мне поддерживать корневые ссылки - это, безусловно, похоже на путь :) –