Проблемы предварительного просмотра Aptana Studio 3 с абсолютным путем - PullRequest
3 голосов
/ 29 декабря 2011

У меня есть такая структура для моего проекта:

Root Directory
|-css folder
  |-style.css
|
|-it folder
  |-index.html

Если я попытаюсь включить файл css с:

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

из index.html, aptana preview, а также внутренний сервер не может найти style.css. Почему это? На моем удаленном сервере он работает отлично, и я не хочу использовать относительный путь.

1 Ответ

2 голосов
/ 30 декабря 2011

С точки зрения «почему» проблема, с которой вы сталкиваетесь, связана с настройкой вашего сервера разработки по сравнению с вашим рабочим сервером.

При стандартной настройке ваш рабочий сервер будет получать запросы на домен (т. Е. http://mysite.com), то есть, из-за отсутствия лучшего слова, сопоставленный с папкой на вашем сервере (т. Е.запрос на http://mysite.com будет сопоставлен с папкой / var / www / mysite на вашем сервере).

Итак, когда вы ссылаетесь на таблицу стилей с помощью /css/style.css,ваш (производственный) сервер немедленно переходит в папку / var / www / mysite и начинает искать папку css, файл и т. д. Как вы отмечаете, проблем с этим нет.

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

Когда я открываю страницу HTML в моем проекте Aptana и нажимаю кнопку предварительного просмотра, Studio загружает http://127.0.0.1:8020/mysite/public/404.html (обратите внимание, что первая папка после IP-адреса и порта является mysite.) Чтобы загрузить абсолютно исправленный файл CSS, локальный сервер на самом деле ищет http://127.0.0.1:8020/css/styles.css, но ему нужно получить значение http://127.0.0.1:8020/mysite/css/styles.css.

Начальная буква "/" вВаша ссылка (/css/styles.css) указывает серверу перейти в корневой каталог сервера и начать поиск папки и файлов с этого момента ... но в корневом каталоге локального сервера нет папки css.Он находится в /mysite/css/styles.css, и поэтому fskreuz предлагает относительные пути и вместо него использует "../css/styles.css".

Лично я предпочитаю абсолютные ссылки (но это всего лишь личное предпочтение, а не вызов или комментирование ответа fskreuz).Тем не менее, мои локальные настройки разработки благоприятствуют их использованию, потому что я настраиваю виртуальные хосты для сайтов, на которых я работаю.Используя Apache, я настраиваю виртуальный хост для каждого из моих проектов.Благодаря этому я могу загрузить что-то вроде http://dev.mysite.com в любой браузер на моем компьютере и протестировать свой сайт / приложение таким образом, чтобы это отражало мои производственные настройки.

...