Estoy tratando de convertir una reescritura muy simple de una versión anterior de nginx a la actual como se muestra a continuación:
location / {
if ( !-f $request_filename ) {
rewrite ^/([a-z]*)$ /index.php?action=$1;
rewrite ^/([a-z]*)/(.*)$ /index.php?action=$1&item=$2;
}
}
Así de lejos he llegado. Aparece la página de índice, pero cualquier página que deba reescribirse como la anterior, en su lugar arroja 404:
server {
listen 80 default;
root /var/www;
index index.php;
server_name _;
location / {
try_files $uri $uri/ /index.php?action=$uri&item=$args;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
}
¿Qué estoy haciendo mal aquí?
¿Qué está pasando exactamente? Parte del problema es $ uri y $ args no están codificados correctamente.
—
Lucas
Se genera 404
—
Industrial
File not found. si utilizo URI /pageo/page/id
¿Qué pasa cuando haces justo
—
Lucas
try_files $uri $uri/ /index.php?
Index.php funciona bien, pero todo lo que debería reescribirse termina en 404's
—
Industrial
Tratar
—
Lucas
try_files $uri $uri/ /index.php?$args. Debería poder obtener la URL con $_SERVER['REQUEST_URI']. $ _GET debería funcionar normalmente.