2016-02-22 4 views
0

У меня есть эта неприятная проблема с ссылками.Относительные ссылки на сервере Apache

В автономном сайте есть абсолютная ссылка в файле index.html, как этот http://projects.files.wordpress.com/2013/09/cities-info.jpg

Теперь сам файл находится здесь: «/var/www/html/projects.files.wordpress.com/ 2013/09/cities-info.jpg "

К сожалению, простая замена« http: // »на« ../ »не будет выполнять эту работу, поскольку ссылка найдена глубоко на веб-сайте. Есть ли способ заменить «http: //» на «//» (где «//» является псевдонимом для корня документа? Другими словами, я хотел бы избежать указания полного пути на каждом экземпляре Мне нужно связать (/ вар/WWW/HTML/....).

Возможно, в директиве VirtualHost в качестве псевдонима?

Большое спасибо заранее!

/Paul

ответ

0

В относительном URL, начинающемся с /, начнется с корня документа.

Если вы начинаете с //, то это будет относительно схемы (например, http или https), и вам нужно будет указать имя хоста.

Вам не нужно будет указывать путь к файлу (/var/www/html/), который обрабатывается внутри веб-сервера и никогда не отображается через HTTP (так что HTTP-клиенты не могли ничего с ним поделать).


Псевдоним не поможет. Он позволяет вам указать другой URL-адрес. Вам все равно нужно указать этот URL в коде, который вы отправляете клиенту.

+0

Спасибо Квентин! При переключении «http: //» на «/» это не отображает рис. В «/var/www/html/projects.files.wordpress.com/2013/09/cities-info.jpg». То, что я надеялся включить в качестве «localhost/projects.files.wordpress.com/2013/09/cities-info.jpg» в браузере, действительно отображается как «projects.files.wordpress.com/2013/09/cities -info.jpg "и не отображает изображение. Может быть, это не так? –

+0

Это должно быть '/ 2013/09/cities-info.jpg'. Я не знаю, почему вы добавляете localhost или полное имя хоста. – Quentin

+0

Я думаю, мы неправильно понимаем друг друга. Я НЕ добавляю «localhost» к ссылке в index.html, но когда изображение отображается правильно в браузере, оно будет читать «localhost/projects.files.wordpress.com/2013/09/cities-info.jpg», в адресной строке. Однако, когда я начинаю ссылку с «/» (как в «/projects.files.wordpress.com/2013/09/cities-info.jpg»), в адресной строке будет отображаться «projects.files.wordpress.com/2013/ 09/cities-info.jpg "(т. Е. Не отображается« localhost ») и в результате этого не отображается изображение. –