-
- 9 Posts
Ситуация такова:
Есть сайт на Revo, лежит в локальной сети на одном из компов, веб-сервер - wampserver. К этому компу привязан DynDns. На сайт можно попасть как из локалки по внутреннему айпишнику, так и снаружи по доменному имени(ну или айпишнику, но внешнему). [[++site_url]] содержит доменное имя сайта.
Проблема:
1. Содержимое сайта тянется через инет даже если заходить из локалки по внутреннему IP (ссылки-то используются относительные, а <base href="[[++site_url]]">), соответственно, замедляется работа и съедается трафик.
2. У пользователя есть ограничение по трафику интернета. Если трафик превышается, пользователю блокируется доступ в интернет, но на внутренний сайт он должен попадать в любом случае. Но, т.к. все ссылки получаются "интернетовскими", пользователь не может попасть никуда, кроме главной страницы сайта, и то, без картинок.
Вопрос:
Как заставить MODx показывать ссылки с локальным айпишником тем, кто зашел на сайт по IP-адресу?
Насколько я знаю, [[++site_url]] определяется в конфиге и прочно заседает в кэше, поэтому менять его динамически не имеет смысла - если поменять его в конфиге, ссылки обновляются только после очистки кэша.
Что посоветуете? не хочется изобретать велосипед и отключать кэш.
P.S.: Бывает, что инет отваливается, и приходится править конфиг и обновлять кэш, чтобы внутри локалки могли пользоваться сайтом. А когда инет появляется, приходится восстанавливать всё как было, чтобы и снаружи могли пользоваться сайтом >:(
P.S.2: В 5 утра пришла в голову сумасшедшая мысль: вместо строки <base href...> сделать некэшируемый вызов сниппета, а в нём каким-то образом проверять, по какому адресу обратились к данной странице (через доменное имя или локальный айпишник) и генерировать соответствующий <base href...>... Что скажете?
-
- 135 Posts
Возможно глупый вопрос, но все же: есть хостинг на 10 сайтов. Возможно ли поставить MODx Revo и использовать ее для нескольких сайтов, если да, то как это организовать на сервере хостинга, ведь там один сайт - новая попка, в которой должна стоить CMS.