file not found desp...
 
Avisos
Vaciar todo

Question file not found después de instalar magento 2 con nginx

5 Respuestas
2 Usuarios
0 Reactions
344 Visitas
(@quafurg)
Respuestas: 3
Active Member
Topic starter
 

Hola a todos,

Acabo de intalar magento  desde centos, virtualmin y nginx funciona, pero cualquier enlace que haces click lleva a una url con index.php, esta url sale el error de file not found. En cambio si eliminas el index.php de la url funciona la página.

Tengo el mismo problema con la página de admistración, pero aunque le quite el index.php de la url, se redirige a la misma con index.php (no hay forma de quitarlo).

Es decir:

  • al hacer click sobre el enlace de Privacy and Cookie Policy me lleva a 

https://dominio.com/index.php/privacy-policy-cookie-restriction-mode/  

El resultado es File not found.

  • Si elimino el index.php

dominio.com/privacy-policy-cookie-restriction-mode

Funciona

 

He visto muchos tutoriales de como eliminar ese problema pero con apache. Yo he instalado magento a través de nginx (LEMP)

 

 

 

 
Respondido : 21/08/2024 9:54 am
Toni FactoriaDigital
(@toni-factoriadigital)
Respuestas: 364
Illustrious Member Moderator
 

Hola quafurg,

¿Estás teniendo en cuenta el archivo nginx.conf.sample de Magento 2? Tiene las reescrituras necesarias para que funcionen bien las páginas internas del mismo.

Normalmente nginx irá configurado para que recoja el archivo nginx.conf de Magento, tendrías que duplicar nginx.conf.sample y llamarlo nginx.conf. Si aun así no lo coge, revisa que el virtual host que tengas creado esté incluyendo este archivo de forma correcta.

Un saludo.

Experto en Magento de FactoriaDigital
Prueba 1 mes gratis nuestro Hosting Magento

 
Respondido : 21/08/2024 11:23 am
(@quafurg)
Respuestas: 3
Active Member
Topic starter
 
Hola de nuevo,

Había reinstalado magento de nuevo a ver si funcionaba.

En la configuración de nginx (nginx.conf) llamo a el archivo nginx.conf.smaple que viene por defecto. Supongo que hay algún parametro con valores que no son adecuados (pero ya no veo nada la verdad)
nginx.conf:

listen 192.168.1.131;

#root /home/productesperruqueria/public_html;
index index.php index.html index.htm;
set $MAGE_ROOT /home/productesperruqueria/public_html;
include /home/productesperruqueria/public_html/nginx.conf.sample;

nginx.conf.smaple

## Example configuration:
# upstream fastcgi_backend {
# # use tcp connection
# # server 127.0.0.1:9000;
# # or socket
# server unix:/var/run/php/php7.4-fpm.sock;
# }
# server {
# listen 80;
# server_name mage.dev;
# set $MAGE_ROOT /var/www/magento2;
# set $MAGE_DEBUG_SHOW_ARGS 0;
# include /vagrant/magento2/nginx.conf.sample;
# }
#
## Optional override of deployment mode. We recommend you use the
## command 'bin/magento deploy:mode:set' to switch modes instead.
##
## set $MAGE_MODE default; # or production or developer
##
## If you set MAGE_MODE in server config, you must pass the variable into the
## PHP entry point blocks, which are indicated below. You can pass
## it in using:
##
## fastcgi_param MAGE_MODE $MAGE_MODE;
##
## In production mode, you should uncomment the 'expires' directive in the /static/ location block

# Modules can be loaded only at the very beginning of the Nginx config file, please move the line below to the main config file
# load_module /etc/nginx/modules/ngx_http_image_filter_module.so;

root $MAGE_ROOT/pub;

index index.php;
autoindex off;
charset UTF-8;
error_page 404 403 = /errors/404.php;
#add_header "X-UA-Compatible" "IE=Edge";
# Deny access to sensitive files
location /.user.ini {
deny all;
}

# PHP entry point for setup application
location ~* ^/setup($|/) {
root $MAGE_ROOT;
location ~ ^/setup/index.php {
fastcgi_pass fastcgi_backend;

fastcgi_param PHP_FLAG "session.auto_start=off \n suhosin.session.cryptua=off";
fastcgi_param PHP_VALUE "memory_limit=4024M \n max_execution_time=600";
fastcgi_read_timeout 600s;
fastcgi_connect_timeout 600s;

fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

location ~ ^/setup/(?!pub/). {
deny all;
}

location ~ ^/setup/pub/ {
add_header X-Frame-Options "SAMEORIGIN";
}
}

# PHP entry point for update application
location ~* ^/update($|/) {
root $MAGE_ROOT;

location ~ ^/update/index.php {
fastcgi_split_path_info ^(/update/index.php)(/.+)$;
fastcgi_pass fastcgi_backend;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
include fastcgi_params;
}

# Deny everything but index.php
location ~ ^/update/(?!pub/). {
deny all;
}

location ~ ^/update/pub/ {
add_header X-Frame-Options "SAMEORIGIN";
}
}

location / {
try_files $uri $uri/ /index.php$is_args$args;
}

location /pub/ {
location ~ ^/pub/media/(downloadable|customer|import|custom_options|theme_customization/.*\.xml) {
deny all;
}
alias $MAGE_ROOT/pub/;
add_header X-Frame-Options "SAMEORIGIN";
}

location /static/ {
# Uncomment the following line in production mode
# expires max;

# Remove signature of the static files that is used to overcome the browser cache
location ~ ^/static/version\d*/ {
rewrite ^/static/version\d*/(.*)$ /static/$1 last;
}

location ~* \.(ico|jpg|jpeg|png|gif|svg|svgz|webp|avif|avifs|js|css|eot|ttf|otf|woff|woff2|html|json|webmanifest)$ {
add_header Cache-Control "public";
add_header X-Frame-Options "SAMEORIGIN";
expires +1y;

if (!-f $request_filename) {
rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last;
}
}
location ~* \.(zip|gz|gzip|bz2|csv|xml)$ {
add_header Cache-Control "no-store";
add_header X-Frame-Options "SAMEORIGIN";
expires off;

if (!-f $request_filename) {
rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last;
}
}
if (!-f $request_filename) {
rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last;
}
add_header X-Frame-Options "SAMEORIGIN";
}

location /media/ {

## The following section allows to offload image resizing from Magento instance to the Nginx.
## Catalog image URL format should be set accordingly.
# location ~* ^/media/catalog/.* {
#
# # Replace placeholders and uncomment the line below to serve product images from public S3
# # See examples of S3 authentication at https://github.com/anomalizer/ngx_aws_auth
# # resolver 8.8.8.8;
#
# set $width "-";
# set $height "-";
# if ($arg_width != '') {
# set $width $arg_width;
# }
# if ($arg_height != '') {
# set $height $arg_height;
# }
# image_filter resize $width $height;
# image_filter_jpeg_quality 90;
# }

try_files $uri $uri/ /get.php$is_args$args;

location ~ ^/media/theme_customization/.*\.xml {
deny all;
}

location ~* \.(ico|jpg|jpeg|png|gif|svg|svgz|webp|avif|avifs|js|css|eot|ttf|otf|woff|woff2)$ {
add_header Cache-Control "public";
add_header X-Frame-Options "SAMEORIGIN";
expires +1y;
try_files $uri $uri/ /get.php$is_args$args;
}
location ~* \.(zip|gz|gzip|bz2|csv|xml)$ {
add_header Cache-Control "no-store";
add_header X-Frame-Options "SAMEORIGIN";
expires off;
try_files $uri $uri/ /get.php$is_args$args;
}
add_header X-Frame-Options "SAMEORIGIN";
}

location /media/customer/ {
deny all;
}

location /media/downloadable/ {
deny all;
}

location /media/import/ {
deny all;
}

location /media/custom_options/ {
deny all;
}

location /errors/ {
location ~* \.xml$ {
deny all;
}
}

# PHP entry point for main application
location ~ ^/(index|get|static|errors/report|errors/404|errors/503|health_check)\.php$ {
try_files $uri =404;
fastcgi_pass fastcgi_backend;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;

fastcgi_param PHP_FLAG "session.auto_start=off \n suhosin.session.cryptua=off";
fastcgi_param PHP_VALUE "memory_limit=756M \n max_execution_time=18000";
fastcgi_read_timeout 600s;
fastcgi_connect_timeout 600s;

fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

gzip on;
gzip_disable "msie6";

gzip_comp_level 6;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_proxied any;
gzip_types
text/plain
text/css
text/js
text/xml
text/javascript
application/javascript
application/x-javascript
application/json
application/xml
application/xml+rss
image/svg+xml;
gzip_vary on;

# Banned locations (only reached if the earlier PHP entry point regexes don't match)
location ~* (\.php$|\.phtml$|\.htaccess$|\.htpasswd$|\.git) {
deny all;
}

Esta publicación ha sido modificada el hace 2 meses 2 veces por Toni FactoriaDigital
 
Respondido : 22/08/2024 5:53 pm
Toni FactoriaDigital
(@toni-factoriadigital)
Respuestas: 364
Illustrious Member Moderator
 

A primera vista, parece estar bien. No se suelen requerir cambios en el archivo nginx.conf.sample de Magento normalmente.

¿Has probado a lanzar el comando "nginx -t" para validar la configuración? Puede que algo no le cuadre y esté dando error.

Experto en Magento de FactoriaDigital
Prueba 1 mes gratis nuestro Hosting Magento

 
Respondido : 23/08/2024 9:12 am
(@quafurg)
Respuestas: 3
Active Member
Topic starter
 

Hola Toni,

Gracias por contestar.

Si he probado nginx -t

nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Lo que es curioso es que cualquier url que hago click en cualquier enlace puedo eliminar el index.php, desde el navegador y la página funciona. Pero desde el administrador no me deja por lo que tampoco puedo entrar.

 

 

 
Respondido : 23/08/2024 10:45 am