Welcome! Log In Create A New Profile

Advanced

Проблема с реврайтами в joomla и с редиректами в 4images.

November 17, 2010 01:59AM
1) Всем доброго времени суток.
Сразу к делу.
Есть сайт с Joomla.
На сайте используются как "типа" ЧПУ:
http://xxxx.ru/index.php/20101111656/cat1/file.html
так и прямые линки:
http://xxxx.ru/index.php?option=com_kinoarhiv&Itemid=34

Нужно перенести его с Apache на Nginx+PHP-FPM.

Конфиг примерно вот такой:

[code]

root /srv/www/xxxx/htdocs/;



location / {
index index.php index.html index.htm;
}

location ~* (/|\.html?|\.feed|\.pdf|\.raw|/[^.]*)$ {
try_files $uri $uri/ @joomla;
}


# php-fastcgi
location ~ \.php$ {
try_files $uri @joomla;
proxy_buffering off;
fastcgi_pass unix:/var/run/php-fpm/default.socket;
fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /srv/www/xxxx/htdocs/index.php;
fastcgi_param QUERY_STRING $query_string;
fastcgi_temp_path /spool/nginx/fastcgi_temp 1 2;
include fastcgi_params;
}



location @joomla {
fastcgi_pass unix:/var/run/php-fpm/default.socket;



fastcgi_pass unix:/var/run/php-fpm/default.socket;
fastcgi_param SCRIPT_FILENAME /srv/www/xxxx/htdocs/index.php;
fastcgi_param QUERY_STRING $query_string;

include fastcgi_params;

}



location ~* \.(jpg|gif|png|css|js|ico)$ {
access_log off;
expires 30d;

}
location /403.html
{
root /srv/ftp/www/;
}
}

[/code]

Проблема следующая:
/ открывается отлично.
"ЧПУ"-адреса открываются тоже отлично.
а вот прямые адреса - Joomla выплевывает ошибку, мол, нет доступа, или неправильный модуль.
В логах ничего подозрительного нет.
Такое впечатление, что реврайт неправильно срабатывает именно тогда, когда идет запрос на реально существующий URL (т.е. php-файл), но в чем именно здесь может быть ошибка - в упор не пойму.

Кто-нить с таким сталкивался? В какую сторону копать, что еще проверить?

2) Вторая проблема - есть сайт с галереей 4images.
Задача та же.
Никаких ЧПУ нет, поэтому конфиг до банального прост:
[code]
location / {
root /srv/www/aaaa/htdocs/;
index index.php;
}

# php-fastcgi
location ~ \.php$ {
proxy_buffering off;
fastcgi_pass unix:/var/run/php-fpm/default.socket;
fastcgi_intercept_errors on;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /srv/www/aaaa/htdocs/$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_temp_path /spool/nginx/fastcgi_temp 1 2;
include fastcgi_params;
}
location ~* \.(jpg|gif|png|css|js)$ {
root /srv/www/aaaa/htdocs/;
access_log off;
expires 30d;
}
[/code]
Все бы замечательно, НО.
В скрипте 4images при некоторых действиях делается несколько HTTP 302 redirect с одной страницы на другую.
При работе на Apache все работает замечательно, при работе с Nginx - редирект "зацикливается", и после долгого ожидания браузер пишет, что получает бесконечное перенаправление со страницы на ее саму же.
Причем детальный анализ HTTP-ответов сервера и PHP-кода движка так и не помог разобраться, из-за чего такая разница в поведении при работе скриптов на apache и на nginx+php-fpm.
Вопрос тот же:
Кто-нить с таким сталкивался? В какую сторону копать, что еще проверить?
Subject Author Posted

Проблема с реврайтами в joomla и с редиректами в 4images.

F0iL November 17, 2010 01:59AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 195
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready