Opencart 1.5.5.1 Redirect 301 проблем

ang3l

New Member
Здравейте,

имам проблем, с който не мога да се справя.
Мигрирах един сайт правен с някаква къстом система на ASP на OC 1.5.5.1.
Имам проблеми с redirect 301 на старите линкове, които са от типа домейна/index.apsx=?page=83dffad-334
Искам да редиректна всички стари линкове към новите, които са от типа домейна/ime-na-product
Пробвах с различни правила в .htaccess, но нещо не успявам да подкарам редиректа.

Пробвах с RewriteRule, с RedirectMatch, но не успявам да го подкарам.Дава ми винаги грешка 404.

Ако някой може да удари едно рамо с решение или насоки как да отстряня проблема ще бъда благодарен.
 
От: Opencart 1.5.5.1 Redirect 301 проблем

А как си представяш да станат нещата? Ако става въпрос за много продукти ти трябва някакво автоматизирано решение, но трябва по някакъв идентификатор да свържеш стар линк с нов такъв. Едва ли новия "сео" урл адрес ще съвпада с текстовата част от стария линк.

Виж този модул: opencart.com/index.php?route=extension/extension/info&extension_id=5388

Вижда ми се скъпичак за работата която върши, а и ако са повече продукти със сигурност няма да е приятно изживяване да въвеждаш на ръка.

Друго нещо, което ми хрумва на прима виста е в контролера отговарящ за къстъм страницата при урл адреси сочещи към несъщ. страници да си направиш "шаблон" на старите урл адреси и ако подадения несъщ. урл адрес отговаря на този шаблон да взимаш ид-то и да търсиш за равенство на някое от ид-тата на продуктите в новата база данни на опенкарт. Ако се намери да се пренасочва към този продукт със съответния му сео урл адрес.
 
От: Opencart 1.5.5.1 Redirect 301 проблем

Благодаря за отговора.
Линковете ги имам.Около 500 са и съм направил един csv файл където са описани.
Просто при описването им в .htaccess файла не сработва пренасочването.
Нямам много опит с опънкарт и затова потърсих малко помощ във форума да не би да е да има някакви допълнителни настройки.
Ползвам и този модул extension/extension/info&extension_id=8897. Тествах и без него, но без резултат.

Последното предложение мисля, че няма как да стане, защото няма как да мачна ид-то на старата страница, защото са генерирани като произволен стринг.
И нямам цялата стара база, а само часто от нея. Клиента е в някакви странни взаимоотношения със фирмата, която му е правила сайта преди това и с доста усилия ги накарах да ми да дадът и част от базата :) да си улесня нещата.

Както писах не съм много запознат с ОК и ми е трудно да установя къде ми е проблема, а не ми се дават 30 $ за модул, за който няма как да знам, че ще ми свърши работа.
Не мога да разбера защо .htaccess файла не сработва.Може би е звързано и с някакви промени по рутинг файла на ОК.

Ще съм благодарен и на други идеи.Ако трябва допълнително инфо, ще допълня.

Благодаря
 
От: Opencart 1.5.5.1 Redirect 301 проблем

Ако разбирам правилно това с 500 директиви в .htaccess файла изобщо не е добро решение. Направи го с mysql и php. Преди време аз си направих подобен модул като този платения, който съм посочил по-горе( бях взел идеята от компонента на джумла за пренасочване ) и си ми върши отлична работа.

Untitled-4.jpg

Все пак ако държиш да го правиш хардкор с .htaccess покажи как правиш пренасочването на един примерен линк за да видим де е проблема.
 
От: Opencart 1.5.5.1 Redirect 301 проблем

искам в .htaccess да е пренасочването за да не е свързано с опънкарта, а апача да го прави

пробвам така

redirect 301 /star-link /nov-link

и така

RewriteCond %{QUERY_STRING} ^page=7f43c0-665$ [NC]
RewriteRule ^index\.aspx$ /product-seo-url [R=301,NE,NC,L]

но не сработва редиректа.

По принцип не добре в .htaccess да има много рулове понеже се товари процесорното време на хоста и малко забавя, но не знам друг вариант да се справя със старите линкове.
 
От: Opencart 1.5.5.1 Redirect 301 проблем

Чрез директиви RewriteRule, Redrect и RedrectMatch това пренасочване няма да може да се осъществи именно заради присъствието на гет параметри в урл адреса(query string), с който да се търси съвпадение. Втория начин, по който си тръгнал е правилен обаче има едно НО. Важен е реда на поставяне на тези редове. Ако ги поставиш след редове:

Код:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

няма да се активират никога тъй като попадаш в тези, които съм дал по-горе., защото нямаш реален файл index.aspx и се активират като след тях се спира изпълнението на всякакви други презаписващи правила поради наличието на флага L. Би трябвало да ги поставиш преди тях. Добави и въпросителен знак в презаписващото правило, за да не се пренася и самия гет параметър на новия линк ето така:

Код:
RewriteCond %{QUERY_STRING} ^page=7f43c0-665$ [NC]
RewriteRule ^index\.aspx$ /product-seo-url? [R=301,NE,NC,L]

И пак казвам това да го пишеш 500 пъти в .htaccess е много, много грешно. Тези 500 проверки ще се изпълняват на всяка една страница, поне по един път. Казах ти как трябва да бъде, но ти си решаваш.
 
От: Opencart 1.5.5.1 Redirect 301 проблем

Благодаря за отговора.

ще се пробвам да го направя с php/mysql.
Ще импортна новите и стари адреси в url_alias таблицата.
и ще направя helper функция да проверява адреса и пренасочва ако открие в таблицата стар адрес към нов.

Ако имам въпроси и ударя греда ще питам пак:)

Благодаря още веднъж за отделеното време.
 
От: Opencart 1.5.5.1 Redirect 301 проблем

Мястото им не би трябвало да е там, тъй като таблицата има друго предназначение. Ако искаш да ти пратя моя модул, хем ще си пренасочиш адресите, хем ще контролираш линковете сочещи към несъщ. страници.
 
От: Opencart 1.5.5.1 Redirect 301 проблем

Да прав си.След това реших да направя отделна таблица.
Така или иначе тези редиректи ще са необходими няколко месеца докато се преиндексира сайта.
Ще ти бъда благодарен ако споделиш твоя модул да не откривам топлата вода.
 
От: Opencart 1.5.5.1 Redirect 301 проблем

Да прав си.След това реших да направя отделна таблица.
Така или иначе тези редиректи ще са необходими няколко месеца докато се преиндексира сайта.
Ще ти бъда благодарен ако споделиш твоя модул да не откривам топлата вода.

Бъди сигурен, че ще ти трябва и след това, доста е полезно. Ще се учудиш и на какви линкове ще попаднеш от опити за "хакване" на сополанковци, до всякакви шантави урл адреси генерирани предполагам от автоматизирани скриптове(ботчета).

Имаш Л.С.
 
От: От: Opencart 1.5.5.1 Redirect 301 проблем

Бъди сигурен, че ще ти трябва и след това, доста е полезно. Ще се учудиш и на какви линкове ще попаднеш от опити за "хакване" на сополанковци, до всякакви шантави урл адреси генерирани предполагам от автоматизирани скриптове(ботчета).

Имаш Л.С.

Здравейте колега четох вашата темА която сте си писали с колегата ЗА пренасочване на URL адресите с автоматизиран модул темата е от 2013
Имам същия проблем ,ако по някакъв начин да ме снабдите с модула , или какви пари ще струва ? Благодаря предварително СПЕШНО МИ Е!
 
От: Opencart 1.5.5.1 Redirect 301 проблем

Прати ми на лично имейл адрес за да ти го пратя. Можеш да хвърлиш един поглед и на този модул, като за него можеш да се обърнеш към съфорумника СТАН, който е жива библиотека на тема модули за OpenCart.
 
  • Like
Реакции: CTAH
От: От: Opencart 1.5.5.1 Redirect 301 проблем

neshto predpriemacha se bagva shte vi pomolq da si ostaviete skype ili druga vrazka po koqto da vi izdiktuvam emaila-mi
 
От: Opencart 1.5.5.1 Redirect 301 проблем

a po kakav nachin da vi go predostavq sega opitah pak da vi izpratq saobshtenie i ne se poluchava :?:cry: a mi e adski speshno
 
Извинявам се, че вдигам темата, но вярвам, че и други са се сблъскали с един кофти редирект, който какво ли не правих и четох, не ще не ще. :)

За най-чисто реших да го направя в .htaccess. Искам да редирекна:

site.com/index.php?route=information/information/agree&information_id=3

към:

site.com/agree

В момента само това работи:

RewriteCond %{QUERY_STRING} ^route=information/information/agree&information_id=3$
RewriteCond %{REQUEST_METHOD} !^POST$
RewriteRule ^index\.php$ http://%{HTTP_HOST}? [R=301,L]

, което не ме урежда, защото не е към страницата, която ми е нужна. Но ако някой се сеща как да го докарам този пуст последен ред, най- вече променливата:

RewriteRule ^index\.php$ http://%{HTTP_HOST}? [R=301,L]

Ще се радвам много. :)

Мисля, за някои модули, но направо ме хваща яд за едно такова цял модул. :) Аа, да кажа, версията е 2.0.1.1. :)
 
От: Re: Opencart 1.5.5.1 Redirect 301 проблем

Не виждам причина примера, който си дал да не работи и с новия адрес към който искаш да пренасочва:

Код:
RewriteRule .* http://%{HTTP_HOST}/agree? [R=301,L]
 
Re: От: Re: Opencart 1.5.5.1 Redirect 301 проблем

Не виждам причина примера, който си дал да не работи и с новия адрес към който искаш да пренасочва:

Код:
RewriteRule .* http://%{HTTP_HOST}/agree? [R=301,L]

Репче, това сработи, да. Явно не ми е стигнало акъла да го сложа ката рирайта с тази променлива. :)
 

Горе