2016-12-09 2 views
0

Wie kann ich die Trailing Slash 301 Redirect nur (!) Für Prestashop Kategorien verwenden?Traling Slash Redirect für Prestashop Kategorien

Ich habe diese Lösung, aber dies zwingt für alle URLs.

#Force trailing slash 
RewriteCond %{REQUEST_FILENAME} !-f 

RewriteCond %{REQUEST_URI} !(.*)/$ 

RewriteCond %{REQUEST_URI} !\.[^/]*$ 

RewriteRule ^(.*)$ /$1/ [L,R=301] 

Ich habe diese Umschreibung für meine URLs.

Categories : {rewrite}/ 
Product: {category:/}{rewrite}.html 

Ich brauche dies für die 404 Fehler, wenn ich einige Kategorie ohne Schrägstrich:

http://shop.domain.com/category_example -> 404 error 

zu

http://shop.domain.com/category_example/

Antwort

0

In Back-Office zu Preferences -> SEO & URLs gehen umleiten müssen und setzen Route to category als {id}-{rewrite:/}.

Dies wird nachfolgende Schrägstriche für Kategorien und Umleitungskategorien ohne Schrägstrich zur richtigen URL mit Schrägstrich verwenden.

+0

Hallo, dies nicht funktioniert, weil die Wurzelkategorie (Index-php) wurden 404 Fehler. Meine URL ist auch ohne ID sieht es aus: {rewrite}/ – redpillcoders

+0

@ user3221012 Wie können Sie sogar Kategorie und Produkt-Routing ohne '{id}'? PrestaShop erlaubt kein Routing ohne es, zumindest nicht aus Backoffice-Einstellungen. Aber wenn Sie ein SEO-Modul verwenden, möchten Sie vielleicht den Entwickler danach fragen. – TheDrot

+0

Es funktioniert mit Dispachter und Link.php override. Dies ist wichtig für Friendly URL für SEO-Kampagnen. – redpillcoders

0

Versuchen Sie, Ihre .htaccess-Datei hinzufügen folgenden Code:

# Various rewrite rules. 
    <IfModule mod_rewrite.c> 
    RewriteEngine on 

    #--------------- custom redirects ----------------- 
    #hard coded 
    RewriteRule ^this_is_hot_news/index\.html http://www.mysite/news [R=301,L] 

    RewriteRule (.*)/index\.html$ http://www.mysite.nl/$1 [R=301,L] 
    RewriteRule (.*)\.html$ http://www.mysite.nl/$1 [R=301,L] 

    RewriteRule (.*)/index\.php$ http://www.mysite.nl/$1 [R=301,L] 
    RewriteRule (.*)\.php$ http://www.mysite.nl/$1 [R=301,L] 

    #end custom redirects