Re: Разные CMS с разными rewrite rules в директориях одного домена

Андрей Василишин a.vasilishin at kpi.ua
Thu Sep 13 13:59:44 UTC 2012


13.09.2012 16:47, Vilgelm пишет:
> Доброго времени суток.
>
> Есть домен domain.tld. Там установлена Joomla со включенным SEF. В конфиге
> nginx для SEF предназначены такие строки (это официальная конфигурация
> Joomla для nginx):
>
> location / {
>                  try_files $uri $uri/ /index.php?q=$uri&$args;
>          }
>
> Есть domain.ltd/livestreet. Там установлена LiveStreet CMS со включенным
> SEF. В конфиге так:
>
> location /livestreet/ {
> root /путь/до/папки/с/livestreet;
>
> if (!-e $request_filename){
>      rewrite ^(.*)$ /index.php last;
>    }
> }
>
> Если я захожу по адресу domain.ltd/livestreet, то вижу главную страницу
> движка (т.е. все работает). Однако стоит мне перейти по адресу
> domain.ltd/livestreet/blogs или подобному, я вижу 404 ошибку Joomla. Т.е.
> все после livestreet/ обрабатывается правилом для Joomla.
>
> Вопрос: как это исправить? Т.е. нужно что бы все, что находится после
> domain.ltd/livestreet обрабатывалось правилом для livestreet.
>
> Понимаю, что изврат, но требуется сделать именно так.
>
> Заранее огромное спасибо.
>


Первое, в документации есть прекрасные примеры
http://nginx.org/ru/docs/http/ngx_http_core_module.html#location

Второе, для лайстврит правильнее будет

         location ^~ /livestreet/ {
             try_files $uri $uri/ /index.php?$args;
	}

-- 
WBR, Andrey Vasilishin CDIG1-UANIC, CDIG1-RIPE



Подробная информация о списке рассылки nginx-ru