Zend Framework дополнительные Получить параметры с NGINX - PullRequest
0 голосов
/ 08 сентября 2011

Я настроил NGINX для Zend следующим образом (PHP 5.3 с fpm):

server {
root /home/page/public/;
index index.php index.html index.htm;

server_name localhost;

location / {
    try_files $uri $uri/ /index.php;
}

location ~ \.php$ {
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

location ~ /\.ht {
    deny all;
}
}

Теперь я хочу обработать дополнительные параметры get, такие как: http://web.site/index?par=1

С моей локальной системой разработки (Apache) она работает нормально, но не под NGINX, которая не доставляла параметры получения.

Любые предложения?

Edit:

Теперь я использую следующую конфигурацию, которая, кажется, работает, но я не доволен ею, поскольку все предлагают «использовать try_files, когда это возможно».

location / {
    if (!-e $request_filename) {
        rewrite  /(.*)$  /index.php?q=$1  last;
        break;
    }
}

Ответы [ 2 ]

5 голосов
/ 09 сентября 2011

Из документов Nginx (http://wiki.nginx.org/HttpCoreModule#try_files):

Если вам нужно сохранить аргументы, вы должны сделать это явно:

location / {
   try_files $uri $uri/ /index.php?$args;
}
0 голосов
/ 08 сентября 2011

Я использую модуль перезаписи для этого; попробуйте заменить ваш блок location / следующим:

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

if (!-e $request_filename) {
    rewrite ^.*$ /index.php last;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...