Проблема с fastcgi
Igor Sysoev
is at rambler-co.ru
Sat Mar 8 21:45:58 MSK 2008
On Sat, Mar 08, 2008 at 09:32:15PM +0300, square wrote:
> Здравствуйте, Igor.
>
> Вы писали 8 марта 2008 г., 20:34:06:
>
> > On Sat, Mar 08, 2008 at 08:14:57PM +0300, square wrote:
>
> >> Здравствуйте, Igor.
> >>
> >> Вы писали 8 марта 2008 г., 19:44:12:
> >>
> >> > On Sat, Mar 08, 2008 at 07:36:11PM +0300, square wrote:
> >>
> >> >> Здравствуйте, Igor.
> >> >>
> >> >> Вы писали 8 марта 2008 г., 18:37:46:
> >> >>
> >> >> > On Sat, Mar 08, 2008 at 06:24:36PM +0300, square wrote:
> >> >>
> >> >> >> Вот такой конфиг:
> >> >> >>
> >> >> >> --------------------------------------------------
> >> >> >> user nobody;
> >> >> >> worker_processes 2;
> >> >> >>
> >> >> >> events {
> >> >> >> worker_connections 1024;
> >> >> >> use kqueue;
> >> >> >> }
> >> >> >>
> >> >> >> http {
> >> >> >> include mime.types;
> >> >> >> default_type application/octet-stream;
> >> >> >>
> >> >> >> sendfile on;
> >> >> >>
> >> >> >> keepalive_timeout 65;
> >> >> >>
> >> >> >> gzip on;
> >> >> >>
> >> >> >> server {
> >> >> >> listen 80;
> >> >> >> server_name domain.ru www.domain.ru;
> >> >> >> charset utf-8;
> >> >> >>
> >> >> >> location / {
> >> >> >> root /usr/home/domain.ru/www;
> >> >> >> index index.php;
> >> >> >>
> >> >> >> if (-e $request_filename) {
> >> >> >> break;
> >> >> >> }
> >> >> >>
> >> >> >> rewrite ^/(.*)$ /index.php?q=$1;
> >> >> >> }
> >> >> >>
> >> >> >> location ~ \.php$ {
> >> >> >> include /usr/local/etc/nginx/fastcgi_params;
> >> >> >>
> >> >> >> fastcgi_pass 127.0.0.1:1026;
> >> >> >>
> >> >> >> fastcgi_index index.php;
> >> >> >>
> >> >> >> fastcgi_param SCRIPT_FILENAME /usr/home/domain.ru/www$fastcgi_script_name;
> >> >> >> }
> >> >> >> }
> >> >> >> }
> >> >> >> ------------------------------------------------
> >> >> >>
> >> >> >> соответственно nginx + PHP + Spawn-fcgi.
> >> >> >>
> >> >> >> Вроде бы настроено всё верно, но корректно работает только главная
> >> >> >> страница, всё остальное отдается без обработки, т.е. исходный код.
> >> >> >>
> >> >> >> Почему так - непонятно, голову уже сломал. Возможно кто-то
> >> >> >> сталкивался? В архиве рассылки натыкался на сообщение, мол смотрите на
> >> >> >> порт 1026, но там вроде всё корректно работает, настраивал по статье
> >> >> >> http://www.lissyara.su/?id=1532. Да и главная страница отрабатывает
> >> >> >> как положено. Буду благодарен за любую подсказку, хотя бы в какую
> >> >> >> сторону копать.
> >> >>
> >> >> > Не нужно без нужды использовать if/rewrite. Не нужно.
> >> >>
> >> >> > location / {
> >> >> > root /usr/home/domain.ru/www;
> >> >> > index index.php;
> >> >> > log_not_found off;
> >> >> > error_page 404 = /index.php?q=$uri;
> >> >> > }
> >> >>
> >> >> спасибо, всё понял.
> >> >>
> >> >> > Как выглядит URL страницы, которая отдаётся как исходник ?
> >> >>
> >> >> Вот так работает:
> >> >> http://www.domain.ru/
> >> >>
> >> >> а так, нет:
> >> >> http://www.domain.ru/articles/
> >>
> >> > А что должно использоваться -
> >> > http://www.domain.ru/articles/index.php ?
> >>
> >> Весь сайт состоит, собственно, только из http://www.domain.ru/index.php,
> >> где мне и нужно получать параметр q, в котором бы содержался
> >> любой запрошенный адрес, например "?q=http://www.domain.ru/articles/".
>
> > А исходник чего выдаётся по запросу /articles/ ?
>
> Выдается исходник http://www.domain.ru/index.php.
Странно, по идее, ни в перой, ни во втором конфигурации это не должно
происходить. Кроме варианта
- rewrite ^/(.*)$ /index.php?q=$1;
+ rewrite ^/(.*)$ /index.php?q=$1 break;
--
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list