Nginx: Reescrevendo o URI inteiro para a cadeia de consulta

1

Ainda é muito novo no nginx aqui, tentando fazer uma simples reescrita funcionar, mas o servidor responde apenas '404 não encontrado'

Meu bloco de servidores

server {
listen   80;
listen   [::]:80;

server_name pics.example.com;
root /home/pics;

rewrite ^(.*)$ index.php?tag=$1;

location / {

    try_files $uri $uri/ $uri.php /index.html $uri =404;
    #try_files $uri =404;

    fastcgi_split_path_info ^([a-z]+)(/.+)$;
    include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_pass unix:/tmp/php5-fpm.sock;
    fastcgi_index index.php;
}

location /doc/ {
    alias /usr/share/doc/;
    autoindex on;
    allow 127.0.0.1;
    deny all;
}
}

pics.example.com/foobear deve reescrever para pics.example.com/index.php?tag=foobear

    
por Doug 02.10.2012 / 03:15

1 resposta

2

Remova o rewrite e substitua a linha try_files pelo seguinte:

try_files $uri $uri/ /index.php?tag=$uri&$args;
    
por 02.10.2012 / 10:26