Поддержка Проблемы и решения Как сделать относительные ссылки без домена?

  • Как заменить все ссылки на относительные без домена?
    1. Как изменить настройки (чтобы понимались относительные ссылки)
    2. Как изменить старые ссылки? (чтобы из них убрался домен)

Просмотр 15 ответов — с 16 по 30 (всего 33)
  • Тут стоит начать с вопроса «зачем?».

    Посоветовал один продвинутый вебмастер, у которого не один сайт за плечами, правда не на вордпрессе (чего то там микрософт).

    • Ответ изменён 6 лет, 4 месяца назад пользователем selftrips-ru.

    Так есть способ изменить ссылки на относительные только в коде генерируемой страницы? для всех страниц и постов сайта?

    Посоветовал один продвинутый вебмастер

    задайте ему все тот же вопрос: «Зачем?»
    и постарайтесь добиться вменяемого ответа.
    постарайтесь не применять излишнего насилия.

    Модератор Yui

    (@fierevere)

    永子

    Будет подставляться тот домен, с которого пользователь зашёл на сайт.

    Т.е. сайт с которого он зашел? т.е. если зашел с wordpress.org будет wordpress.org ???

    точнее не С которого, а НА который,
    а то вы спутали с реферером, если у вашего сайта несколько доменов — будет использоваться именно тот, на который зашел пользователь,
    однако возникает путаница со ссылками на вложения, если вы их каким-либо образом действительно не делаете относительными.

    верстайте все сразу в режиме «Текст»

    Можно и лаптем щи хлебать. Но хотелось бы иметь варианты. В данном случае, мне неудобно, когда ссылки вставляются абсолютными. А таких ссылок много. В нашем современном мире, когда холодильники умеют выходить в сеть по wi-fi, странно делать руками то, с чем вполне может справиться машина.

    Sergey Biryukov(@sergeybiryukov)

    В WordPress потому и используются абсолютные ссылки, что с относительными больше проблем.

    Если я правильно понял, то есть некие проблемы, прада глубину их я не осознал с относительными ссылками, но в будущем они могут быть решены и тогда вордпресс стандартно перейдет на относительные ссылки?
    Я правильно понял?

    странно делать руками то, с чем вполне может справиться машина.

    это только если есть много времени, чтобы постоянно за машиной переделывать -))

    А так?

    function removeHomeUrl($url)
    {
        $url_sectors = preg_split('/\//i', $url);
        unset($url_sectors[0]);
        unset($url_sectors[1]);
        unset($url_sectors[2]);
        return '/'.join('/', $url_sectors);
    }
    add_filter('plugins_url', 'removeHomeUrl');
    
    function attachment_image($attrs)
    {
        $url_sectors = preg_split('/\//', $attrs['src']);
        unset($url_sectors[0]);
        unset($url_sectors[1]);
        unset($url_sectors[2]);
        $attrs['src'] = '/'.join('/', $url_sectors);
        return $attrs;
    }
    
    add_filter('wp_get_attachment_image_attributes', 'attachment_image');

    это только если есть много времени, чтобы постоянно за машиной переделывать -))

    Если сделать всё правильно, то ничего переделывать не придётся. Вы же после стиральной машины не перестирываете. К тому же, движок и так многое делает сам.
    У Вас странная позиция: композер, который уродует код и делает сам то, что быстрее, проще и лучше сделать руками – это хорошо, подправить один момент, чтоб часть кода при вставке обрезалась – преступление. Вы уж определитесь, доверяете Вы машинам, или нет. 🙂

    композер, который уродует код

    видимо мы говорим на разных языках……

    начать с «композера», которого я ярый противник,
    ну и заканчивая «уродует код», вы так и не ответили про ваше эстетические наслаждения за наблюдением за «ни изуродованным кодом».
    ну и лично мне эта сентенция не очень понятна….. «уродует код»

    ну и далее…..

    Если сделать всё правильно

    у вас получилось?
    или

    В данном случае, мне неудобно, когда ссылки вставляются абсолютными. А таких ссылок много.

    ну дык поделитесь с сообществом вариантом «правильного решения» — у вас же все работает?

    ну и до кучи — «Зачем это нужно», так для общего просветления

    Мне показалось, что в соседней ветке Вы его защищаете. 🙂 От композера страдает семантика, утяжеляется код, сложнее управлять выводом и настраивать классы, он добавляет некоторые стили прямо в код страницы, ещё хуже, он вешает их прямо на теги, что я терпеть не могу, плюс, конкретно в моём случае, ломается вывод feature image, которую текст должен обтекать, приходилось после каждого шевеления композера перетаскивать его шоткоды после начального текста. Просто, это всё так очевидно, что ответ больше похож на флуд.

    у вас получилось?

    Вы читать умеете? Я задала вопрос. Это значит, что я не знаю решения. Иначе, зачем бы я спрашивала.

    Зачем это нужно

    А зачем Вам знать? Если Вас мучает праздное любопытство, то отвечу: конкретно в моём случае, я наполняю сайт на локалке. Очевидно, что, после транспортировки сайта на хост, все внутренние ссылки станут нерабочими. Ссылок много. Чисто по-человечески я могу где-то пропустить абсолютный адрес. Поэтому, мне сейчас нужно, чтоб редактор вставлял относительные пути.

    конкретно в моём случае, я наполняю сайт на локалке. Очевидно, что, после транспортировки сайта на хост, все внутренние ссылки станут нерабочими

    Во первых — если «локалка» не в линуксовом окружении, то не нужно этого вообще делать. Винда — не то окружение, на котором стоит запускать вебпроект который потом он будет перемещён на линукс.

    Во вторых относительные ссылки не помогут. Дело не столько в ссылках, сколько в путях к файлам. Эти данные хранятся в сериализованных массивах и при переносе они поломаются. Для переноса нужно использовать плагин миграции. Напр Дубликатор. И то я не уверен на 100%, что он поймёт-исправит «любой каприз» любого плагина/темы. Самые страшные кторые я помню на память — это фришный NextGeg и его дополнения и коммерческий RevoSlader. У них экранированные пути, причем бывает многократно. А кого-то (может не из них) я видел пути не от корня ВП, а от юзера или даже /.

    И то я не уверен на 100%, что он поймёт-исправит «любой каприз» любого плагина/темы.

    Я стараюсь максимально аккуратно заталкивать файлы в сайт. Надеюсь, свои страницы, медиафайлы и ссылки на них он сможет корректно перенести? Я просто не могу собирать сайт по живому. С ним месяц возни, как минимум. А он должен всё это время корректно работать и демонстрировать себя миру. Я понимаю, что работать с идеальным газом в сферическом вакууме предпочтительнее, но реальность диктует свои условия, бороться с ней бессмысленно. Поэтому работаю с тем, что есть.
    За ссылку на плагин спасибо! Мне ещё предстоит головная боль с переносом, но я готова к трудностям. 🙂

    про «сайт на локалке» я даже говорить не буду, это все равно, как в современном мире жить в пещере и готовить на костре, доказывая окружающим, как это удобно

    tuxfighter (@tuxfighter)
    Бывает ситуации когда хотелось бы приготовить на хотя бы костре в пещере, и это было бы даже удобно.
    Например, когда нет интернета по месяцу, точнее он есть, но очень дорогой (1-2-3 бакса в МИНУТУ). Так что в этот бы момент очень хотелось иметь такое решение — сайт на локалке, а при наличии интернета автоматическое обновление сетевого варианта из локального сайта. Но такого решения я не нашел.

Просмотр 15 ответов — с 16 по 30 (всего 33)
  • Тема «Как сделать относительные ссылки без домена?» закрыта для новых ответов.