проблемы с перенаправлением modx - PullRequest
0 голосов
/ 21 января 2012

Я разработал сайт с modx в поддомене 2012.m-y-d-o-m-a-i-n.de. Старый сайт работал в oldsite.m-y-d-o-m-a-i-n.de. Сайт был перенаправлен с mydomain.net (без черточек) на oldsite.m-y-d-o-m-a-i-n.net. администратор сайта вчера перешел на новостной сайт 2012.m-y-d-o-m-a-i-n.net. FURL включен и в htaccess у меня есть этот код:

<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  RewriteEngine On
  # Friendly URLs
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>

Перенаправление работает, но все ссылки относятся к 2012.m-y-d-o-m-a-i-n-de. Как я могу научить modx новой переменной siteURL. Я снова использовал настройки и несколько раз очищал кеш, а сайт по-прежнему считает, что он находится в поддомене m-y-d-o-m-a-i-n-de. Субдомен должен исчезать из каждого URL. Обе записи DNS работают на одном и том же сервере. Спасибо за помощь

Ответы [ 3 ]

1 голос
/ 09 апреля 2016

Обычным решением является добавление этого тега в раздел head всех шаблонов:

<base href="[[++site_url]]" />

Вам не нужно добавлять какие-либо определения.MODX рассчитает site_url на основе URL-адреса, на который входит пользователь (после перенаправления).Жесткое кодирование site_url приведет к проблемам при перемещении сайта.

Вы также должны раскомментировать часть .htaccess, которая вызывает www или non-www URL-адреса.Без этого MODX может потерять сеанс, если пользователь переключается с одного на другой.

0 голосов
/ 11 февраля 2012

Проверьте core / config / config.inc.php, посмотрите, есть ли там еще ваш старый домен.Если он по-прежнему получает неправильный домен, добавьте определения, чтобы задать URL-адрес и хост своего сайта, как вам нужно, в строке 23:

define('MODX_HTTP_HOST','www.YOURDOMAIN.com');
define('MODX_SITE_URL','http://www.YOURDOMAIN.com/');
0 голосов
/ 30 января 2012

Вы хотите настроить правило в своем файле .htaccess, которое будет проверять входящий URL-адрес и перенаправлять его на www.mydomain.de, если это не так.

Поместите этот код перед комментарием # Friendly URLs в существующем .htaccess:

RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^(www)\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

Это перехватит http://2012.mydomain.de, http://2011.mydomain.de, http://mydomain.de и т. Д., А код 301 сообщит сканерам, что поддомен навсегда переместился в домен www.

...