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