path_info in alias environment

Steve Holdoway steve at greengecko.co.nz
Thu Jan 3 08:13:42 UTC 2013


Why not just use a symbolic link?

Steve

On 03/01/13 20:31, PascalTurbo wrote:
> Hi There
>
> I need to get this working on nginx with php-fpm:
>
> example.com/studip/dispatch.php/admin/user/
>
> The Problem seems to be, that /studip isn't a subfolder under root but a
> alias to /usr/local/studip/public/
>
> Here's the configuration without the (non working) path_info foo:
>
> server {
>      listen 80;
>      server_name  example.com;
>
>      root /var/www/example.com/htdocs;
>      index index.php
>
>      # Here are a few other subfolders hosted
>      # ...
>      # ...
>
>      # and now studip:
>
>      location /studip {
>          alias /usr/local/studip/public/;
>          index index.php;
>          location ~ /studip/(.*\.php)$ {
>              fastcgi_pass    unix:/var/www/sockets/studip.socket;
>              fastcgi_index   index.php;
>              fastcgi_param   SCRIPT_FILENAME    $document_root$1;
>              include fastcgi_params;
>          }
>      }
> }
> And the fastcgi_params:
>
> fastcgi_param   QUERY_STRING            $query_string;
> fastcgi_param   REQUEST_METHOD          $request_method;
> fastcgi_param   CONTENT_TYPE            $content_type;
> fastcgi_param   CONTENT_LENGTH          $content_length;
>
> fastcgi_param   SCRIPT_FILENAME         $request_filename;
> fastcgi_param   SCRIPT_NAME             $fastcgi_script_name;
> fastcgi_param   REQUEST_URI             $request_uri;
> fastcgi_param   DOCUMENT_URI            $document_uri;
> fastcgi_param   DOCUMENT_ROOT           $document_root;
> fastcgi_param   SERVER_PROTOCOL         $server_protocol;
>
> fastcgi_param   GATEWAY_INTERFACE       CGI/1.1;
> fastcgi_param   SERVER_SOFTWARE         nginx/$nginx_version;
>
> fastcgi_param   REMOTE_ADDR             $remote_addr;
> fastcgi_param   REMOTE_PORT             $remote_port;
> fastcgi_param   SERVER_ADDR             $server_addr;
> fastcgi_param   SERVER_PORT             $server_port;
> fastcgi_param   SERVER_NAME             $server_name;
>
> fastcgi_param   HTTPS                   $https;
>
> # PHP only, required if PHP was built with --enable-force-cgi-redirect
> fastcgi_param   REDIRECT_STATUS         200;
>
> fastcgi_buffers 8 16k;
> fastcgi_buffer_size 32k;
>
>
>
> I tried it for a sub-domain where root points to /usr/local/studip/public/
> and get it working with this params:
>
> location / {
>      try_files $uri $uri/ /index.php;
> }
>
> location ~ \.php {
>      fastcgi_split_path_info ^(.+\.php)(/.+)$;
>
>      fastcgi_param  PATH_INFO          $fastcgi_path_info;
>      fastcgi_param  PATH_TRANSLATED    $document_root$fastcgi_path_info;
>
>      fastcgi_param  QUERY_STRING       $query_string;
>      fastcgi_param  REQUEST_METHOD     $request_method;
>      fastcgi_param  CONTENT_TYPE       $content_type;
>      fastcgi_param  CONTENT_LENGTH     $content_length;
>
>      fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
>      fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
>      fastcgi_param  REQUEST_URI        $request_uri;
>      fastcgi_param  DOCUMENT_URI       $document_uri;
>      fastcgi_param  DOCUMENT_ROOT      $document_root;
>      fastcgi_param  SERVER_PROTOCOL    $server_protocol;
>
>      fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
>      fastcgi_param  SERVER_SOFTWARE    nginx;
>
>      fastcgi_param  REMOTE_ADDR        $remote_addr;
>      fastcgi_param  REMOTE_PORT        $remote_port;
>      fastcgi_param  SERVER_ADDR        $server_addr;
>      fastcgi_param  SERVER_PORT        $server_port;
>      fastcgi_param  SERVER_NAME        $server_name;
>
>      fastcgi_pass   unix:/var/www/sockets/www.socket;
>      fastcgi_index  index.php;
> }
>
> But I got no idea how to port this to subfolder.
>
> Any suggestions?
>
> Thanks allot
> Pascal
>
> Posted at Nginx Forum: http://forum.nginx.org/read.php?2,234659,234659#msg-234659
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx



More information about the nginx mailing list