Tengo un problema curioso en mi instalación de Wordpress lemp. Aquí está la cosa:
Supongamos que tiene una URL example.com/category-of-shoes
que conduce a una publicación sobre dicho tema. Cuando escribo una publicación/página que no existe, por ejemplo, example.com/category
en lugar de recibir una respuesta 404, me devuelven a example.com/category-of-shoes
.
Cual podría ser el problema aquí? Esto está sucediendo en algunos sitios que mantengo y temo que alguien pueda aprovecharlo. ¿Esto también está relacionado con cgi.fix_pathinfo?
Mi archivo de configuración para el servidor:
upstream php {
server 127.0.0.1:9000;
}
server {
listen 80;
set $host_path "/var/www/vhosts/example.com/";
access_log /var/log/nginx/example.com-access.log;
error_log /var/log/nginx/example.com-error.log error;
server_name example.com;
root $host_path;
charset utf-8;
index index.php;
location ~ \.php {
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_script_name;
}
location / {
try_files $uri $uri/ /index.php$is_args$args;
index index.php;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
error_page 404 /404.html;
error_page 500 502 503 504 /static.html;
}
Además, estoy un poco confundido acerca de todas las opciones que la gente parece ofrecer para la "reescritura" de WP Permalink en nginx. La mayor parte de lo que veo gira alrededor: try_files $uri $uri/ /index.php$is_args$args;
dentro del location /
bloque. ¿Alguien puede explicarme este problema?