относительные пути в html для ErrorDocument

#html #apache2

#HTML #apache2

Вопрос:

В моей конфигурации apache2 у меня есть строка:

 ErrorDocument 404 /404.html
  

Внутри 404.html У меня есть теги img и style, такие как:

 <img src="foo.gif">
  

Это работает должным образом, только если несуществующий URL находится в корневом каталоге … т. Е. если я перейду к:http://example.com/does_not_exist

мой 404.html отображается нормально с его изображениями. Однако, если я перейду к:http://example.com/some_dir/does_not_exist,

Я вижу 404.html но со сломанными изображениями, потому что он пытается обслуживать http://example.com/some_dir/foo.gif вместо http://example.com/foo.gif

Есть ли хорошее решение для этого?

РЕДАКТИРОВАТЬ: я бы предпочел не использовать абсолютные пути в моих тегах img и style, потому что веб-дизайнер, с которым я работаю, говорит, что это приводит к тому, что изображения и стили не отображаются в DreamWeaver. (У меня нет DreamWeaver, поэтому я не знаю, в чем проблема)

Ответ №1:

Можете ли вы попробовать изменить вашу ссылку, чтобы она имела предшествующую косую черту:

 <img src="/foo.gif">
  

Если вы не можете этого сделать, то единственное, что я могу придумать, это написать RewriteRule, чтобы запросы к этим изображениям переписывались, указывая на их фактическое местоположение, или выполняя какой-то процесс предварительного развертывания, в котором заменяются ссылки на изображения. Я мало что знаю о Dreamweaver, но наверняка должен быть способ заставить его работать с относительными путями, начинающимися с корня сервера (что я и сделал с предыдущей косой чертой выше).

РЕДАКТИРОВАТЬ: Я только что быстро прогуглил, и я думаю, вы можете настроить Dreamweaver для работы с относительными путями к корню сайта (как у меня), выполнив процесс «Настройка и редактирование локальной корневой папки».