2016-04-22 3 views
2

У меня есть старая Prestashop 1.4 install, и страницы не имеют завершающей косой черты. пример: domain.com/categoryкак заставить prestashop 1.4 trailing slash для обновления до 1.6

Я хочу обновить до новой версии Prestashop (1,6) Эта версия заставляет слэш (пример: domain.com/category/) для аль хорошие причины. Проблема в том, что я не хочу потерять ни одного из моих рейтингов в любой из поисковых систем.

Так что я хотел бы сделать, это настроить .htaccess моего тока 1,4 установить так, что косая черта будет вынуждена и будет работать, потому что теперь это приведет к 404.

Это. htaccess, и я не знаю, с чего начать, даже прочитав несколько блогов о перенаправлении и т. д. Может ли кто-нибудь помочь мне или дать совет?

<IfModule mod_rewrite.c> 
# URL rewriting module activation 
RewriteEngine on 


#Force www: 
RewriteCond %{HTTP_HOST} ^domain.com [NC] 
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301,NC] 

# URL rewriting rules 
RewriteRule ^api/?(.*)$ /webservice/dispatcher.php?url=$1 [QSA,L] 
RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1-$2$3.jpg [L] 
RewriteRule ^([0-9]+)\-([0-9]+)/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1-$2.jpg [L] 
RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg [L] 
RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$1 [QSA,L] 
RewriteRule ^[a-zA-Z0-9-]*/([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$1 [QSA,L] 
RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]*(/[a-zA-Z0-9-]*)+ /category.php?id_category=$1&noredirect=1 [QSA,L] 
RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]* /category.php?id_category=$1 [QSA,L] 
RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*) /supplier.php?id_supplier=$1 [QSA,L] 
RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*) /manufacturer.php?id_manufacturer=$1 [QSA,L] 
RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*) /cms.php?id_cms=$1 [QSA,L] 
RewriteRule ^content/category/([0-9]+)\-([a-zA-Z0-9-]*) /cms.php?id_cms_category=$1 [QSA,L] 
RewriteRule ^lang-([a-z]{2})/([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html /product.php?id_product=$3&isolang=$1 [QSA,L] 
RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)\.html /product.php?id_product=$2&isolang=$1 [QSA,L] 
RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*) /category.php?id_category=$2&isolang=$1 [QSA,L] 
RewriteRule ^page-not-found$ /404.php [QSA,L] 
RewriteRule ^address$ /address.php [QSA,L] 
RewriteRule ^addresses$ /addresses.php [QSA,L] 
RewriteRule ^authentication$ /authentication.php [QSA,L] 
RewriteRule ^best-sales$ /best-sales.php [QSA,L] 
RewriteRule ^cart$ /cart.php [QSA,L] 
RewriteRule ^contact-us$ /contact-form.php [QSA,L] 
RewriteRule ^discount$ /discount.php [QSA,L] 
RewriteRule ^guest-tracking$ /guest-tracking.php [QSA,L] 
RewriteRule ^order-history$ /history.php [QSA,L] 
RewriteRule ^identity$ /identity.php [QSA,L] 
RewriteRule ^manufacturers$ /manufacturer.php [QSA,L] 
RewriteRule ^my-account$ /my-account.php [QSA,L] 
RewriteRule ^new-products$ /new-products.php [QSA,L] 
RewriteRule ^order$ /order.php [QSA,L] 
RewriteRule ^order-follow$ /order-follow.php [QSA,L] 
RewriteRule ^quick-order$ /order-opc.php [QSA,L] 
RewriteRule ^order-slip$ /order-slip.php [QSA,L] 
RewriteRule ^password-recovery$ /password.php [QSA,L] 
RewriteRule ^prices-drop$ /prices-drop.php [QSA,L] 
RewriteRule ^search$ /search.php [QSA,L] 
RewriteRule ^sitemap$ /sitemap.php [QSA,L] 
RewriteRule ^stores$ /stores.php [QSA,L] 
RewriteRule ^supplier$ /supplier.php [QSA,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([a-zA-Z0-9-]*)\.html /product.php?product_name_seo=$1 [QSA,L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^[a-zA-Z0-9-]*/([a-zA-Z0-9-]*)\.html /product.php?product_name_seo=$1 [QSA,L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^suplr/([a-zA-Z0-9-]*) /supplier.php?supplier_name=$1 [QSA,L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^mfg/([a-zA-Z0-9-]*) /manufacturer.php?manufacturer_name=$1 [QSA,L] 
RewriteRule ^content/category/([a-zA-Z0-9-]*) /cms.php?cms_category_name=$1 [QSA,L] 
RewriteRule ^content/([a-zA-Z0-9-]*) /cms.php?cms_name=$1 [QSA,L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([a-zA-Z0-9-]*)(/[a-zA-Z0-9-]*)?/. /category.php?category_name_seo=$1&amp;noredirect=1 [QSA,L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([a-zA-Z0-9-]*) /category.php?category_name=$1 [QSA,L] 
</IfModule> 

# Catch 404 errors 
ErrorDocument 404 /404.php 

<IfModule mod_expires.c> 
    ExpiresActive On 
    ExpiresByType image/gif "access plus 1 month" 
    ExpiresByType image/jpeg "access plus 1 month" 
    ExpiresByType image/png "access plus 1 month" 
    ExpiresByType text/css "access plus 1 week" 
    ExpiresByType text/javascript "access plus 1 week" 
    ExpiresByType application/javascript "access plus 1 week" 
    ExpiresByType application/x-javascript "access plus 1 week" 
    ExpiresByType image/x-icon "access plus 1 year" 
</IfModule> 

FileETag INode MTime Size 
<IfModule mod_deflate.c> 
    AddOutputFilterByType DEFLATE text/html 
    AddOutputFilterByType DEFLATE text/css 
    AddOutputFilterByType DEFLATE text/javascript 
    AddOutputFilterByType DEFLATE application/javascript 
    AddOutputFilterByType DEFLATE application/x-javascript 
</IfModule> 

ответ

1

Вы можете попробовать этот файл:

<IfModule mod_rewrite.c> 
# URL rewriting module activation 
RewriteEngine on 
RewriteBase/

#Force www: 
RewriteCond %{HTTP_HOST} ^domain.com [NC] 
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301,NC] 

#Force trailing slash 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !(.*)/$ 
RewriteCond %{REQUEST_URI} !\.[^/]*$ 
RewriteRule ^(.*)$ /$1/ [L,R=301] 

# URL rewriting rules 
RewriteRule ^api/?(.*)$ /webservice/dispatcher.php?url=$1 [QSA,L] 
RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1-$2$3.jpg [L] 
RewriteRule ^([0-9]+)\-([0-9]+)/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1-$2.jpg [L] 
RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg [L] 
RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$1 [QSA,L] 
RewriteRule ^[a-zA-Z0-9-]*/([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$1 [QSA,L] 
RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]*(/[a-zA-Z0-9-]*)+/ /category.php?id_category=$1&noredirect=1 [QSA,L] 
RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]*/ /category.php?id_category=$1 [QSA,L] 
RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*)/ /supplier.php?id_supplier=$1 [QSA,L] 
RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*)/ /manufacturer.php?id_manufacturer=$1 [QSA,L] 
RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*)/ /cms.php?id_cms=$1 [QSA,L] 
RewriteRule ^content/category/([0-9]+)\-([a-zA-Z0-9-]*)/ /cms.php?id_cms_category=$1 [QSA,L] 
RewriteRule ^lang-([a-z]{2})/([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html /product.php?id_product=$3&isolang=$1 [QSA,L] 
RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)\.html /product.php?id_product=$2&isolang=$1 [QSA,L] 
RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)/ /category.php?id_category=$2&isolang=$1 [QSA,L] 
RewriteRule ^page-not-found/$ /404.php [QSA,L] 
RewriteRule ^address/$ /address.php [QSA,L] 
RewriteRule ^addresses/$ /addresses.php [QSA,L] 
RewriteRule ^authentication/$ /authentication.php [QSA,L] 
RewriteRule ^best-sales/$ /best-sales.php [QSA,L] 
RewriteRule ^cart/$ /cart.php [QSA,L] 
RewriteRule ^contact-us/$ /contact-form.php [QSA,L] 
RewriteRule ^discount/$ /discount.php [QSA,L] 
RewriteRule ^guest-tracking/$ /guest-tracking.php [QSA,L] 
RewriteRule ^order-history/$ /history.php [QSA,L] 
RewriteRule ^identity/$ /identity.php [QSA,L] 
RewriteRule ^manufacturers/$ /manufacturer.php [QSA,L] 
RewriteRule ^my-account/$ /my-account.php [QSA,L] 
RewriteRule ^new-products/$ /new-products.php [QSA,L] 
RewriteRule ^order/$ /order.php [QSA,L] 
RewriteRule ^order-follow/$ /order-follow.php [QSA,L] 
RewriteRule ^quick-order/$ /order-opc.php [QSA,L] 
RewriteRule ^order-slip/$ /order-slip.php [QSA,L] 
RewriteRule ^password-recovery/$ /password.php [QSA,L] 
RewriteRule ^prices-drop/$ /prices-drop.php [QSA,L] 
RewriteRule ^search/$ /search.php [QSA,L] 
RewriteRule ^sitemap/$ /sitemap.php [QSA,L] 
RewriteRule ^stores/$ /stores.php [QSA,L] 
RewriteRule ^supplier/$ /supplier.php [QSA,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([a-zA-Z0-9-]*)\.html /product.php?product_name_seo=$1 [QSA,L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^[a-zA-Z0-9-]*/([a-zA-Z0-9-]*)\.html /product.php?product_name_seo=$1 [QSA,L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^suplr/([a-zA-Z0-9-]*)/ /supplier.php?supplier_name=$1 [QSA,L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^mfg/([a-zA-Z0-9-]*)/ /manufacturer.php?manufacturer_name=$1 [QSA,L] 
RewriteRule ^content/category/([a-zA-Z0-9-]*) /cms.php?cms_category_name=$1 [QSA,L] 
RewriteRule ^content/([a-zA-Z0-9-]*) /cms.php?cms_name=$1 [QSA,L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([a-zA-Z0-9-]*)(/[a-zA-Z0-9-]*)?/./ /category.php?category_name_seo=$1&amp;noredirect=1 [QSA,L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([a-zA-Z0-9-]*)/ /category.php?category_name=$1 [QSA,L] 
</IfModule> 

# Catch 404 errors 
ErrorDocument 404 /404.php 

<IfModule mod_expires.c> 
    ExpiresActive On 
    ExpiresByType image/gif "access plus 1 month" 
    ExpiresByType image/jpeg "access plus 1 month" 
    ExpiresByType image/png "access plus 1 month" 
    ExpiresByType text/css "access plus 1 week" 
    ExpiresByType text/javascript "access plus 1 week" 
    ExpiresByType application/javascript "access plus 1 week" 
    ExpiresByType application/x-javascript "access plus 1 week" 
    ExpiresByType image/x-icon "access plus 1 year" 
</IfModule> 

FileETag INode MTime Size 
<IfModule mod_deflate.c> 
    AddOutputFilterByType DEFLATE text/html 
    AddOutputFilterByType DEFLATE text/css 
    AddOutputFilterByType DEFLATE text/javascript 
    AddOutputFilterByType DEFLATE application/javascript 
    AddOutputFilterByType DEFLATE application/x-javascript 
</IfModule> 
+0

Спасибо Флориан, но это приводит к ERR_TOO_MANY_REDIRECTS так что, вероятно держит зацикливание с этим изменением. – Beekhouse

+0

Возможно, у вас может быть другой взгляд? Я до сих пор не могу заставить его работать. Заранее спасибо. – Beekhouse

Смежные вопросы