2013-03-05 2 views
3

Я хочу знать, почему личные связи (для перезаписи URL) не работают с Prestashop ...Prestashop - .htacess URL Переписывая (добавить персидско ссылку)

Я сделал тест с (добавить в конце файл):

RewriteRule ^test$ /index.php [L] 

Но это не работает. Я искал в Интернете, но я не нашел что-то ... Редактирование URL-адресов по умолчанию для Prestashop, но я не могу добавить другие ссылки

Помогите мне? Вам нужно больше информации ?

Благодаря

The файл .htaccess:

# ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again 
# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution 
# http://www.prestashop.com - http://www.prestashop.com/forums 

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^www.accessoires-de-la-moto.com$ 
RewriteRule . - [E=REWRITEBASE:/] 
RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L] 

# Images 
RewriteCond %{HTTP_HOST} ^www.accessoires-de-la-moto.com$ 
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L] 
RewriteCond %{HTTP_HOST} ^www.accessoires-de-la-moto.com$ 
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L] 
RewriteCond %{HTTP_HOST} ^www.accessoires-de-la-moto.com$ 
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L] 
RewriteCond %{HTTP_HOST} ^www.accessoires-de-la-moto.com$ 
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L] 
RewriteCond %{HTTP_HOST} ^www.accessoires-de-la-moto.com$ 
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L] 
RewriteCond %{HTTP_HOST} ^www.accessoires-de-la-moto.com$ 
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L] 
RewriteCond %{HTTP_HOST} ^www.accessoires-de-la-moto.com$ 
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L] 
RewriteCond %{HTTP_HOST} ^www.accessoires-de-la-moto.com$ 
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg [L] 
RewriteCond %{HTTP_HOST} ^www.accessoires-de-la-moto.com$ 
RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L] 
RewriteCond %{HTTP_HOST} ^www.accessoires-de-la-moto.com$ 
RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L] 

# Dispatcher 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteCond %{HTTP_HOST} ^www.accessoires-de-la-moto.com$ 
RewriteRule ^.*$ - [NC,L] 
RewriteCond %{HTTP_HOST} ^www.accessoires-de-la-moto.com$ 
RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L] 
</IfModule> 

<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> 

#If rewrite mod isn't enabled 
ErrorDocument 404 /index.php?controller=404 

# ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again 

## Ajout manuelle ## 
# RewriteRule ^kit-chaine-afam.htm$ /content/6-kit-chaine-afam [L] 
RewriteRule ^www.accessoires-de-la-moto.com/kit-chaine-afam.htm$ /index.php?id_cms=6&controller=cms [L] 
RewriteRule ^/test$ /index.php [L] 
RewriteRule ^www.accessoires-de-la-moto.com/test2$ www.accessoires-de-la-moto.com/index.php [L] 

RewriteCond %{HTTP_HOST} ^www.accessoires-de-la-moto.com$ 
RewriteRule ^test3$ %{ENV:REWRITEBASE}index.php [L] 
+0

любое решение? поделитесь им, если у вас есть один –

ответ

1

Эти два

RewriteRule ^www.accessoires-de-la-moto.com/kit-chaine-afam.htm$ /index.php?id_cms=6&controller=cms [L] 
RewriteRule ^www.accessoires-de-la-moto.com/test2$ www.accessoires-de-la-moto.com/index.php [L] 

не может работать, потому что домен не является частью шаблона URL-путь.

Это правило должны работы

RewriteRule ^/test$ /index.php [L] 

, но это правило выше от Prestashop

RewriteRule ^.*$ - [NC,L] 

предотвращает его.

Вы можете переместить правило выше Prestashop определений

RewriteRule ^test$ /index.php [L] 

# ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again 
# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution 
# http://www.prestashop.com - http://www.prestashop.com/forums 

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^www.accessoires-de-la-moto.com$ 
... 

и затем /test правило будет работать, как ожидалось. Но будьте осторожны, чтобы не мешать правилам Пренташопа.

+0

Nop, я сделал еще один тест, но все равно не работаю. Я обновил свой пост с полным кодом Htacess – Snow

+0

@Snow. См. Обновленный ответ. –

+0

Спасибо за объяснения, но все еще не работают, как вы можете видеть: http://www.accessoires-de-la-moto.com/test // Должен ли я удалить «RewriteRule ^. * $ - [NC, L]»? – Snow

1

Вы пробовали простой «RedirectPermanent» в вашем файле htacces?

RedirectPermanent /old_page_urlp /new_page_url 

Он работает?

+0

Я пробовал с: RedirectPermanent www.accessoires-de-la-moto.com/test89 www.accessoires-de- la-moto.com/index.php, но все еще не работает – Snow

1

Вы только что выбрали Настройки-> SEO & URL. В разделе «Настройка URL-адресов» переключите дружественные URL-адреса на «да».

2

Вы можете изменить URL переписывания конфигурации и правила из панели администратора:

Preferences -> SEO & URL-адреса -> СХЕМА URLS

enter image description here