В модуле действительно серьезный косяк, связанный с редиректом, который работает не правильно при поиске товаров.
Проблема в этом участке кода (в catalog/controller/common/seo_pro.php):
if (rawurldecode($url) != rawurldecode($seo)) {
// header($this->request->server['SERVER_PROTOCOL'] . ' 303 See Other');
// $this->response->redirect($seo,303);
header($this->request->server['SERVER_PROTOCOL'] . ' 301 Moved Permanently');
$this->response->redirect($seo,301);
}
Насколько я понял там где-то не корректно распарсивается url, отсюда и не корректная переменная $seo, затем и не правильный редирект (возможно ошибаюсь).
Пока проблему временно решил так: в выше приведенный участок кода перед директивой header вставил код указанный ниже
if(stristr($url, 'search') == true){
return;
}
Это ситуацию полностью не спасает так, как поиск товаров будет доступен и через mysite.com/search?search=semekeyword и через mysite.com/index.php?route=product/search&search=somekeyword. Но с фронтенда будет работать первый вариант, поэтому уже жить можно) Ибо для поиска товаров это не критично. Второй вариант наверно в robots.txt вообще не стоит показывать, чтобы не сообщать лишний раз кулхацкерам, что ты на опенкарте)
Также в файлах шаблона common.js и search.tpl замените url = 'product/search' на 'search' и &search на ?search
Пока так, может кто знает как лучше, пожалуйста поделитесь.