Контекст «теряет» base-url / Русскоязычное сообщество MODX
Добрый день, форумчане! Прошу помощи — не выводится base-url в созданном контексте, т.е. ссылки формируются без «/» — в виде ru.booking.online1.html или ru.booking.online1/1.html
Переключение контекста организованно через плагин по этой заметке (поддомены или разные домены), пробовал переключать через ContextRouter — в обоих случаях контекст переключается, но «теряет» base-url (/). Если самостоятельно добавить «/» в url (ru.booking.online/), то все страницы выводятся верно.
Сайт тестовый — установлен плагин, ContextRouter и Ace.
Настройки контекста: ru
base_url - / container_suffix - / friendly_urls - Да http_host - ru.booking.online site_start - 2 (страница контекста ru) site_url - http://ru.booking.online use_alias_path - Да
Сайт размещен отдельном сервере (Ubuntu + Nginx + Php7-fpm + mySql), настроен по этой инструкции. .+\.(jpg|jpeg|gif|css|png|js|ico|bmp)$ { access_log off; expires 10d; break; } location ~ /\.ht { deny all; } }
Спасибо всем, кто посчитает возможным оказать мне помощь в решении данной проблемы.
Игорь
15 марта 2017, 14:01
Игорь /users/gnom modx.pro https://modx.pro3 254
0
2
MODX Revolution с http на https — OLDESIGN.RU
1. Установите в настройках системы MODX в качестве значения параметра server_protocol значение https.
(.*)$ http://www.%1/$1 [R=301,L]3. Настроите сайт так, чтобы он некоторое время был доступен как по протоколу http, так и по https.
Для этого необходимо создать сниппет siteUrl (зависит от хостинга):
<?php if ($_SERVER['HTTP_X_FORWARDED_PROTO']=='http') { return 'http://mydomain.ru/'; } else { return 'https:// mydomain.ru/'; }
Установите данный сниппет в качестве значения атрибута href элемента base (убрав пробелы):
<base href="[ [ !siteUrl ] ]">
Используя этот шаг можно проверить, корректно ли у вас отображается сайт по протоколу https. Если вы используете абсолютные ссылки с использованием протокола, то их необходимо исправить на относительные.
4. Настройте канонические URL, ведущие на https версию сайта.
5. Добавьте в robots.txt основное зеркало (для Яндекса):
6. Добавить в инструментах Google для веб-мастеров сайт с протоколом https.
После этого у вас в Search Console будут доступны 2 сайта (с протоколом http и https). Google, при наличии сайта в двух версиях, будет показывать в выдаче именно его https-версию.
Для более быстрого индексирования предоставить файл sitemap.xml.
7. В Яндекс Вебмастер на странице Переезд сайта (Индексирование->Переезд сайта) установите галочку «Добавить https» и нажмите на кнопку «Сохранить».
И ждём, пока Яндекс склеит зеркала. Этот момент может длиться от нескольких недель до нескольких месяцев.
При этом Яндекс не рекомендует использовать редирект. Иначе страницы могут выпасть из выдачи. Т.е. пока Яндекс не склеит зеркала, у вас сайт должен быть доступен как по http, так и по https.
Источник: yandex.ru/support/webmaster-troubleshooting/mirrors/change-protocol.xml
8. После склейки Яндексом добавьте редирект в .htaccess (данные строчки зависят от хостинга):
RewriteCond %{HTTP:HTTPS} !=on [NC] RewriteCond %{REQUEST_URI} !robots. (.*)$ https://mydomain.ru/$1 [R=301,L] SetEnvIf X-Forwarded-Proto https HTTPS=on
9. В настройки контекста web (при необходимости) добавьте параметр site_url со значением:
https://mydomain.ru/
10. Установите данный параметр в качестве значения атрибута href элемента base (убрав пробелы):
<base href="[ [ ++site_url ] ]">Конфигурация
— ModX Revo: обновить базовый URL сайтов?
спросил
Изменено 5 лет назад
Просмотрено 9к раз
Я разработал сайт для клиента до того, как было выбрано доменное имя. В результате URL-адреса страниц сайта выглядят так:
http://host.mynost.net/~tempname/index.php?id=8
Доменное имя теперь куплено, но если я нажму на любую ссылку Wayfinder, он по-прежнему будет использовать старый путь, как указано выше, вместо, скажем:
http://domainname. com/index.php?id=8
Я предполагаю, что это настроено в файле config.inc.php, но я не уверен, что нужно изменить.
Может ли кто-нибудь указать мне правильное направление? Спасибо!
- url
- конфигурация
- система управления контентом
- modx
- modx-revolution
Нужно поменять $modx_base_url= '/'
в /core/config/config.inc.php
а если этого недостаточно — вручную почистить /core/cache /
папка.
2
Четыре года спустя я занимался тем же самым в течение нескольких месяцев и был невероятно разочарован.
Обновленным ответом на эту проблему будет переход к Настройки (значок) > Контекст
, затем выберите Ключ > Интернет (щелчок правой кнопкой мыши) > Обновить контекст > Настройки контекста
.
Изменить http_host
(например, localhost
) и site_url
(например, http://localhost/
).
Теперь из верхнего меню Управление > Очистить кэш
, а также Управление > Очистить кэш > Обновить URI
.
Это было все равно, что найти горшочек с золотом.
У меня есть веб на какой-то суперстарой версии Modx, которую мне нужно было временно настроить для просмотра, и я столкнулся с этой проблемой.
То, как я изменил базовый URL-адрес, находится в базе данных:
таблица: modx_context_setting
ключ: site_url
Это описывает, как переместить modx в новое место ~ что, по сути, и есть то, что вы сделали ~ .
http://rtfm.modx.com/display/revolution20/Moving+Your+Site+to+a+New+Server
В общем, вы можете обойтись обновлением config.inc.php и очисткой кеша, но неплохо просмотреть таблицу системных настроек в базе данных в поисках старых путей, некоторые пакеты хранят там информацию о путях.
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью GoogleЗарегистрироваться через Facebook
Зарегистрируйтесь, используя адрес электронной почты и пароль
Опубликовать как гость
Электронная почта
Обязательно, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Modx Revolution и удобные URL-адреса
Обратите внимание, что информация в этом посте основана на Revo 2. 2.11. Есть все шансы, что он будет работать как в более ранних, так и в более поздних версиях, но ожидайте, что будут различия. Я буду периодически обновлять его по мере продвижения версий Revo, которые использую.
Во-первых, пример, показывающий разницу между стандартным URL-адресом Modx и «дружественной» версией, которая будет установлена после выполнения следующих шагов:
По умолчанию: http://rgissing.com/index. php?id=2
Дружелюбный: http://rgissing.com/blog/
Необходимо выполнить ряд действий, и вполне вероятно, что сайт (или, по крайней мере, некоторые ссылки) будет недоступен какое-то время в течение процесс. Порядок не критичен, за исключением первого шага, но точное соблюдение этой процедуры сведет к минимуму время простоя.
Изменение формата URL-адреса статей
Если вы не используете статьи или вас устраивает значение по умолчанию, вы можете пропустить этот шаг.
Перейдите к контейнеру «Статьи» и щелкните вкладку «Дополнительные параметры». В нижней части этой страницы находится параметр «Формат URL-адреса статей», который имеет значение по умолчанию:
%Y/%m/%d/%alias/
, который создает URL-адреса, такие как:
http: //www.mydomain.com/articles/2014/02/06/title-of-an-article/
Лично я не хочу, чтобы дата была частью URL-адреса, поэтому я изменил ее на:
%alias/
Это может быть все, что вы сочтете нужным. %alias — это значение поля Alias (Permalink) в каждом документе Articles. Если вы собираетесь использовать дружественные URL-адреса, это поле должно быть заполнено в каждом документе до того, как они будут включены. Псевдоним может быть каким угодно, но я использую формат из 3-5 слов, разделенных тире (например, modx-and-friendly-urls). Убедитесь, что каждый псевдоним уникален.
Если вы уже заполнили поле Псевдоним во время изменения формата URL-адреса статей, то изменение:
повлияет только на новых статей, если только вы не измените псевдоним или не отмените публикацию, а затем повторно опубликуете старые статьи, которые затем восстановят свои URL-адреса в новом формате. из текста справки
Создание псевдонима для каждого ресурса
Помимо создания псевдонима для каждого документа Articles (как описано выше), для всех остальных документов должны быть созданы псевдонимы. Это поле называется псевдонимом ресурса . Используйте тот же метод 3-5 слов, как описано выше, чтобы создать их.
Обновить системные настройки дружественных URL-адресов
Существует ряд системных настроек, которые необходимо изменить для дружественных URL-адресов. Перейдите на вкладку System / System Settings и выберите фильтр дружественных URL-адресов.