2016-12-09 7 views
0

Как использовать только переадресацию Trailing Slash 301 (!) Для категорий Prestashop?Trial Slash redirect for Prestashop Категории

У меня есть это решение, но это заставляет всех URL-адресов.

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

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

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

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

У меня есть это переписывание для моих URL-адресов.

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

мне это нужно для 404 ошибки, если я использую некоторые Категория без косой черты:

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

должна перенаправлять

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

ответ

0

В BackOffice пойти Preferences -> SEO & URLs и установить Route to category в {id}-{rewrite:/}.

Это будет использовать трейлинг-косые черты для категорий и перенаправлять категории без привязки косая черта к правильному URL-адресу с косой чертой.

+0

Здравствуйте, это не работает, потому что корень категория (индекс-PHP) стала 404 ошибкой. Мой URL-адрес также не содержит идентификатор: {rewrite}/ – redpillcoders

+0

@ user3221012 Как вы можете настроить маршрутизацию категорий и продуктов без '{id}'? PrestaShop не разрешает маршрутизацию без него, по крайней мере, не из настроек backoffice. Но если вы используете какой-то модуль SEO, вы можете попросить об этом разработчика. – TheDrot

+0

Работает с Dispachter и Link.php. Это важно для URL-адреса для SEO-кампаний. – redpillcoders

0

Попробуйте добавить следующий код в файл .htaccess:

# 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