Lausli Posted February 3, 2017 Share Posted February 3, 2017 (edited) Ursprünglicher Beitrag zum Thema: Benutzerfreundliche URLS funktionieren nicht richtig - Nginx Hey Dudes,ich habe mich jetzt mal etwas mehr auf den shop selbst konzentriert statt auf eBay und co.Ich habe ein Problem mit den SEO URLS.Sobald ich die SEO URLS einschalte, dann kann ich in den Kategorien nicht mehr durchklicken.Auf der Startseite, sehe ich einige Artikel und kann diese auch anklicken. Aber klicke ich auf eine Kategorie "Damenmode" z.B. dann kann ich da die Seiten nicht durchblättern.Die URL sieht dann so aus:/16-damenmodeKlicke ich auf "Weiter", sieht die URL dann so aus:/16-damenmode?p=2Aber das was angezeigt wird ist nach wie vor Seite 1Direkt auf eine Zahl klicken ändert dann wieder die URL:/16-damenmode?p=21ändert aber wieder nicht den Inhalt.Einen Artikel anklicken geht, die URL passt:/tops/144-lady-top-racerback-marilyn-monroe-mugshot-s-m.htmlIn den Warenkorb legen geht auch/bestellungAllerdings kann ich nicht "Zur Kasse gehen".Die Url passt wieder:/bestellung?step=1Aber der Angezeigte Inhalt nicht.So, hat jemand dazu einen Tipp oder eine Idee für mich, wie man das beheben kann?Prestashop 1.6.1.11Link zum Shophttps://goo.gl/5BlOyDFalls wem was rechtliches auffällt, bin auch auch gern bereit diese Konstruktive Kritik anzunehmen Teilweise Lösung:Ich hab die Lösung, just in der Minute. Ich habe mir die Rewrite Regeln in der nginx Config nochmal angesehen. Blöd, wennindex /index.php;rewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last;rewrite ^/([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$1$2.jpg last;rewrite ^/([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$1$2$3.jpg last;rewrite ^/([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$1$2$3$4.jpg last;rewrite ^/([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5.jpg last;rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.jpg last;rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7.jpg last;rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8.jpg last;rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9.jpg last;rewrite ^/c/([0-9]+)(-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ /img/c/$1$2.jpg last;rewrite ^/c/([a-zA-Z-]+)(-[0-9]+)?/.+\.jpg$ /img/c/$1.jpg last;rewrite ^/([0-9]+)(-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ /img/c/$1$2.jpg last;try_files $uri $uri/ /index.php?$args;nicht im Blocklocation / {steht.Das habe ich geändert.Nur die Bilder gehen gerade nicht, zumindest nicht alle. Bis ich das im Zusammenhang gelöst habe würde ich das Thema gern mal offen lassen.Außerdem:http://doc.prestashop.com/display/PS16/System+Administrator+GuideIn der Doku stehen widersprüchliche Einträge.Oben steht:For instance, if PrestaShop is at the root of your of your server, replace /PRESTASHOP_FOLDER/ with simply / :location / {index /index.php;rewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last;rewrite ^/([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$1$2.jpg last;rewrite ^/([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$1$2$3.jpg last;rewrite ^/([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$1$2$3$4.jpg last;rewrite ^/([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5.jpg last;rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.jpg last;rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7.jpg last;rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8.jpg last;rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9.jpg last;rewrite ^/c/([0-9]+)(-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ /img/c/$1$2.jpg last;rewrite ^/c/([a-zA-Z-]+)(-[0-9]+)?/.+\.jpg$ /img/c/$1.jpg last;rewrite ^/([0-9]+)(-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ /img/c/$1$2.jpg last;try_files $uri $uri/ /index.php?$args;}Also im Block location / {Weiter unten steht:Complete example configuration for nginx:server {listen 80;#listen [::]:80; # Uncomment this line if you also want to enable IPv6 supportserver_name example.com www.example.com;root /var/www/example;access_log /var/log/nginx/example.access.log;error_log /var/log/nginx/example.error.log;index index.php index.html; # Letting nginx know which files to try when requesting a folderlocation = /favicon.ico {log_not_found off; # PrestaShop by default does not provide a favicon.icoaccess_log off; # Disable logging to prevent excessive log sizes}location = /robots.txt {auth_basic off; # Whatever happens, always let bots know about your policyallow all;log_not_found off; # Prevent excessive log sizeaccess_log off;}# Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).location ~ /\. {deny all;access_log off;log_not_found off;}### Gzip Settings##gzip on;gzip_disable "msie6"; # Do people still use Internet Explorer 6? In that case, disable gzip and hope for the best!gzip_vary on; # Also compress content with other MIME types than "text/html"gzip_types application/json text/css application/javascript; # We only want to compress json, css and js. Compressing images and such isn't worth itgzip_proxied any;gzip_comp_level 6; # Set desired compression ratio, higher is better compression, but slowergzip_buffers 16 8k; # Gzip buffer sizegzip_http_version 1.0; # Compress every type of HTTP requestrewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last;rewrite ^/([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$1$2.jpg last;rewrite ^/([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$1$2$3.jpg last;rewrite ^/([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$1$2$3$4.jpg last;rewrite ^/([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5.jpg last;rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.jpg last;rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7.jpg last;rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8.jpg last;rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9.jpg last;rewrite ^/c/([0-9]+)(-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ /img/c/$1$2.jpg last;rewrite ^/c/([a-zA-Z-]+)(-[0-9]+)?/.+\.jpg$ /img/c/$1.jpg last;rewrite ^/([0-9]+)(-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ /img/c/$1$2.jpg last;try_files $uri $uri/ /index.php?$args;location ~ \.php$ {try_files $uri =404;fastcgi_keep_conn on;include /etc/nginx/fastcgi_params;fastcgi_pass 127.0.0.1:9000; # When using TCP#fastcgi_pass unix:/var/run/php/php-fpm.sock; # When using unix sockets}}Allerdings steht der Teil da eindeutig nicht im Location Block sondern im Server Block.LG Lösung: Die Conf der Site: # Pass API requests to the webservice dispatcher location ^~ /api/ { rewrite ^/api/(.*) /webservice/dispatcher.php?url=$1 last; } # 1 month expiry on other static stuff # Also do the friendly URL rewrites location ~* \.(eot|gif|ico|jpg|jpeg|otf|pdf|png|svg|swf|ttf|woff)$ { rewrite ^/([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$1$2$3.jpg break; rewrite ^/([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$1$2$3$4.jpg break; rewrite ^/([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$1$2$3$4$5.jpg break; rewrite ^/([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg break; rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg break; rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg break; rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg break; rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg break; rewrite ^/c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ /img/c/$1$2$3.jpg break; rewrite ^/c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ /img/c/$1$2.jpg break; rewrite ^/images_ie/?([^/]+)\.(jpe?g|png|gif)$ /js/jquery/plugins/fancybox/images/$1.$2 break; # next line is PSCSX-2790 bug workaround, fixed in 1.6.0.10 rewrite ^/[a-zA-Z]+/img/cms/(.*)$ /img/cms/$1 break; expires 1M; add_header Cache-Control public; allow all; } # 1 week expiry on CSS and JavaScript location ~ \.(css|js)$ { expires 1w; add_header Cache-Control public; allow all; } # The rest is either served directly or passed on to the dispatcher location / { try_files $uri $uri/ /index.php?$args; } Danke an @selectshop.at, der mir die Lösung schon mal gezeigt hatte :S > https://www.prestashop.com/forums/topic/530264-nginx-seo-freundliche-urls/?do=findComment&comment=2331611 Jedesmal bin ich auf die Prestashop Docu rein gefallen. Edited February 3, 2017 by Lausli (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now