Загрузка изображения из субдомена?

0

У меня есть иерархия вроде:

  • index.html
  • /share/index.html
  • /img/myImage.png

share/index.html находится в поддомене (http://www.share.foo.com вместо http://www.foo.com).

Я хотел бы получить доступ к myImage.png из обоих доменов.

До сих пор я только мог найти один способ справиться с этим. Из index.html я ссылаюсь на изображение как:

img/myImage.png

и из /share/index.html Я ссылаюсь на изображение как:

http://www.foo.com/img/myImage.png

Это не кажется правильным, потому что я не должен быть таким явным с моим URL. Вероятно, это должно быть несколько относительно моей собственной структуры пути.

Мне интересно, какое здесь правильное решение? Должен ли share/index.html находиться на том же уровне, что и index.html? Как соглашения об именах работают на что-то подобное, если они оба должны быть index.html на одном уровне? Другие предложения?

Теги:

3 ответа

1

Чтобы получить доступ к изображению из "index.html", вы можете использовать относительный путь, как вы сейчас используете:

img/myImage.png

Однако, когда вы находитесь в папке /share/, вам нужно вернуться в папку:

../img/myImage.png

Это, конечно, предполагает, что ваш каталог /share/находится в корневой папке html (public_html или любой другой, который может быть вызван вами)

0

Вы можете использовать

../img/myImage.png

для получения изображения в субдомене.

Вы можете использовать несколько ../ чтобы вернуться на любой уровень в иерархии

Например: ../../ вернет два уровня с текущего уровня.

  • 0
    подпапка не является поддоменом :)
  • 0
    @IgorBenikov Это имеет значение? Если он находится в той же корневой директории, что и его www, то не просто имеет дело с путями в каталогах?
Показать ещё 2 комментария
0

Это можно сделать двумя способами.

Способ файловой системы

Если сервер находится в системе на основе Unix (Linux), создайте символическую ссылку в /share, которая указывает на /img.

Из оболочки:

~$ cd /docroot/share
~$ ln -s ../img img

Это приведет к тому, что все содержимое /img появится под /share/img.

Если у вас нет прямого доступа к оболочке вашего веб-узла, вы можете попробовать создать символическую ссылку в своей локальной копии своего каталога /share и синхронизировать ее с сервером. Чтобы создать символическую ссылку, вам не нужно иметь копию места, где она указывает на вашем локальном компьютере.

Если вы работаете с окнами, NTFS также поддерживает символические ссылки, но я не могу сказать, как это будет синхронизироваться с веб-сервером.

Использование относительных путей ниже, чем ваш doc_root (../img/myImage.png), чтобы указать на ваше изображение из вашего HTML-документа, в этом случае недопустимо. Он решил бы: http://www.share.foo.org/../img/myImage.png

<base> tag way

Тег <base> устанавливает базовый адрес, где искать связанный контент. Недостаток: он станет базой для al-связанного контента. (Таблицы стилей, изображения и ссылки). Таким образом, страница, связанная как <a href=about.hmtl> укажет на <base>/about.html.

<head>
   <base href="http://www.foo.com/" target="_blank">
</head>

<body>
   <img src="img/myImage.png">
</body>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню