#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 для работы с относительными путями к корню сайта (как у меня), выполнив процесс «Настройка и редактирование локальной корневой папки».