noob needs help with alias locations and php
Francis Daly
francis at daoine.org
Thu May 28 08:02:53 UTC 2015
On Wed, May 27, 2015 at 09:49:27PM -0700, Mike Wright wrote:
Hi there,
In general in nginx, one request is handled in one location. Only the
configuration in, or inherited into, that location, matters.
It you use rewrite-module directives, things are a bit more complicated.
There is lots at http://nginx.org/en/docs/; it may be hard to find the
one piece of information you want, but it is probably there somewhere.
> The server handles files and php scripts as long as they are at or
> beneath the document root. Here are the two problems I haven't been
> able to figure out:
> Directory index of ... is forbidden
What one request do you make that leads to that problem?
What is the one location that handles that request?
> Can't get to docs not beneath the document_root.
Same questions.
> Example of places I want to go:
>
> non-root targets: as:
> /home/mike/Movies/index.html /movies/index.html 200
> /home/mike/Movies/index.php /movies/index.php "File not found."
> /home/mike/Movies/1/index.html /movies/1/index.html 404
> /home/mike/Movies/1/index.php /movies/1/index.php "File not found."
>
> File not found : "Primary script unknown";
> 404 : the log shows the correct GET path;
> A lot of my experiments end up with 301 : endless redirects;
>
> http {
> index index.html index.php;
> ...
>
> server {
> listen 80;
> server_name localhost lo;
> root /var/www/sites/localhost/www;
>
> location / {
> try_files $uri $uri/ /index.html /index.php;
> }
>
The request "/movies/index.html" will be handled in this location:
> location /movies {
> alias /home/mike/Movies/;
> }
(Usually, it is good if the number of /s at the end of "alias" and and
the end of "location" are the same.)
The request "/movies/index.php" will be handled in this location:
> location ~ \.php$ {
> root /var/www/sites/localhost/www;
> include fastcgi_params;
> fastcgi_pass 127.0.0.1:9000;
> fastcgi_index index.php;
> fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
> }
> }
Enable more logging; or "tcpdump", to see what nginx sends to your fastcgi
server. "/movies/index.php" is unlikely to be correctly handled here.
Good luck with it,
f
--
Francis Daly francis at daoine.org
More information about the nginx
mailing list