Hallo zusammen,
ich habe nginx geschaltet. Jetzt die Startseite und Produktseiten funktionieren, die Kategorieseiten zeigen aber 404 Fehler. SEO-Einstellungen habe ich nicht geändert. Wie soll ich die config-Datei anpassen?
server {
listen 80;
index index.php index.html;
server_name new.moebel-zone.de;
root /new/public;
location /recovery/install {
index index.php;
try_files $uri /recovery/install/index.php$is_args$args;
}
location /recovery/update/ {
location /recovery/update/assets {
}
if (!-e $request_filename){
rewrite . /recovery/update/index.php last;
}
}
location / {
try_files $uri /index.php$is_args$args;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi.conf;
fastcgi_param HTTP_PROXY "";
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
client_max_body_size 24M;
client_body_buffer_size 128k;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
http2_push_preload on;
}
}
Was sagen die server logs?
Ich habe das Problem bereits wie folgt gelöst…
-
Ich habe bemerkt, dass die Kategorieseiten doch erreichbar sind, nur ohne Trailing Slash.
-
SEO Einstellungen geändert, damit Kategorien ohne Slash funktionieren:
{% for part in category.seoBreadcrumb %}{{ part|lower}}{% if not loop.last %}/{% endif %}{% endfor %}
-
Zurück Apache geschaltet und 301 Weiterleitung eingerichtet, da mein Hosting netcup keine eigene Konfiguration für nginx unterstützt. Ganz wichtig - in .htaccess muss man vor den Standardzeilen von Shopware schreiben, sonst funktioniert nicht.
# Kein Trailing Slash
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [R=301,NC,L]
# BEGIN Shopware
1 „Gefällt mir“
Hallo @pavloniss
Soeben stehe ich vor dem selben Problem und versuchte gerade Deinen Tipp umzusetzen. Leider funktioniert es bei mir nicht wie gewünscht. Ich habe unter Einstellungen / SEO bei den Kategorien {% for part in category.seoBreadcrumb %}{{ part|lower}}{% if not loop.last %}/{% endif %}{% endfor %}
eingefügt und wie von Dir empfohlen:
# Kein Trailing Slash
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [R=301,NC,L]
vor # BEGIN Shopware gesetzt. Das ganze bewirkt lediglich, dass Kategorien ohne / dargestellt werden, was natürlich zu einem 404 Error führt. Eigentlich wollte ich lediglich, dass Kategorien nach wie vor mit einem / am Ende dargestellt werden, jedoch auch Zugriffe auf Kategorien ohne / am Ende umgeleitet werden und kein 404 generieren.
Funktioniert Deine Konfiguration nach wie vor?