2016-03-18 16 views
0

Я разрабатываю веб-сайт на веб-сервере, к которому можно получить доступ по адресу 2: mywebsite.example.com или example.com/mywebsite. Например, когда я получаю доступ к mywebsite.example.com/images/abc.jpg и example.com/mywebsite/images/abc.jpg, я получаю одно и то же изображение.Абсолютный или относительный URL-адрес, если мой сайт не может находиться в корневой папке?

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

С другой вопрос Absolute vs relative URLs я нашел кто-то предположить, используя URL относительно корня (как /images/abc.jpg), однако, когда я доступ к сайту с помощью example.com/mywebsite, каждое звено просто сломаться.

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

Я также пробовал использовать <base> тег, однако он испортился с помощью якоря. Даже если я попытаюсь включить полный путь до символа #, некоторые библиотеки jQuery не работают должным образом, так как они получают значение внутри атрибута href напрямую, но не извлекают часть после #.

Будет ли какая-нибудь лучшая практика или предложение? Большое спасибо.

+0

Я предлагаю выбрать один URL-адрес и придерживаться его. [Переадресация] (https://moz.com/learn/seo/redirection) других URL-адресов на тот, который вы выберете, и используйте относительные пути для ссылок и изображений. См. [Canonicalization] (https://moz.com/learn/seo/canonicalization). – showdev

+0

К сожалению, я не могу перенаправлять, поскольку я не являюсь владельцем сервера и не имею на это разрешения. Если я смогу придерживаться одного из URL-адресов, я бы уже сделал это. – user3545752

ответ

0

Я думаю, вы должны использовать относительные URL-адреса и сосредоточить свои поиски на том, как использовать относительные URL-адреса в шаблонах, которые будут разрешены относительно последней страницы.

я не знаю технологию, которую вы используете для шаблонов, но я вижу две общих решений:

  • Объявите «относительный путь» переменный в шаблоне, а затем заменить его на разных страницах, с новым относительным путем. Используйте этот относительный путь в качестве префикса для всех URL-адресов.
  • делегирование ссылок на службу, которая будет знать конечную страницу. Somethinkg like resolveUrl(..)