Может ли кто-нибудь помочь мне с правилами перезаписи для расширенного поиска 4 модуля prestashop?Prestashop Nginx + Расширенный поиск 4 модуля + правила перезаписи
Основные правила HTAccess являются:
RewriteRule ^as4_seositemap.xml$ modules/pm_advancedsearch4/sitemap/seositemap.xml [L]
RewriteRule ^as4_seositemap-([0-9]+).xml$ modules/pm_advancedsearch4/sitemap/seositemap-$1.xml [L]
это нормально, я сделал:
location = /as4_seositemap.xml {
rewrite ^(.*)$ /modules/pm_advancedsearch4/sitemap/seositemap.xml break;
}
location /as4_seositemap {
rewrite ^/as4_seositemap-([0-9]+).xml$ /modules/pm_advancedsearch4/sitemap/seositemap-$1.xml break;
}
но суммируется с этой части:
RewriteCond %{QUERY_STRING} !^controller=products-comparison [NC]
RewriteRule ^([a-z]{2})?/?s/([0-9]+)/([a-zA-Z0-9/_-]*) index.php?fc=module&module=pm_advancedsearch4&controller=advancedsearch4&isolang=$1&id_seo=$2&seo_url=$3 [QSA,L]
RewriteCond %{QUERY_STRING} ^isolang=([a-z]{2})&id_seo=([0-9]+)&seo_url=([a-zA-Z0-9/_-]*).*p=([0-9]+)$
RewriteRule ^advancedsearch4.php /%1/s/%2/%3?p=%4 [R=301,L]
RewriteCond %{QUERY_STRING} ^isolang=([a-z]{2})&id_seo=([0-9]+)&seo_url=([a-zA-Z0-9/_-]*)
RewriteRule ^advancedsearch4.php /%1/s/%2/%3? [R=301,L]
RewriteCond %{QUERY_STRING} ^id_seo=([0-9]+)&seo_url=([a-zA-Z0-9/_-]*).*p=([0-9]+)$
RewriteRule ^advancedsearch4.php /s/%1/%2?p=%3 [R=301,L]
RewriteCond %{QUERY_STRING} ^id_seo=([0-9]+)&seo_url=([a-zA-Z0-9/_-]*)
RewriteRule ^advancedsearch4.php /s/%1/%2? [R=301,L]
судимое сделать что-то вроде этого с http://winginx.com/ru/htaccess:
location ~* ^/([a-z])/?/([0-9])/([a-zA-Z0-9/_-]*)$ {
rewrite "^/([a-z]{2})?/?s/([0-9]+)/([a-zA-Z0-9/_-]*)" /index.php?fc=module&module=pm_advancedsearch4&controller=advancedsearch4&isolang=$1&id_seo=$2&seo_url=$3 break;
}
if ($query_string ~ "^isolang=([a-z]{2})&id_seo=([0-9]+)&seo_url=([a-zA-Z0-9/_-]*).*p=([0-9]+)$"){
rewrite ^/advancedsearch4.php /%1/%2/%3?p=%4 redirect;
}
if ($query_string ~ "^isolang=([a-z]{2})&id_seo=([0-9]+)&seo_url=([a-zA-Z0-9/_-]*)"){
rewrite ^/advancedsearch4.php /%1/%2/%3? redirect;
}
if ($query_string ~ "^id_seo=([0-9]+)&seo_url=([a-zA-Z0-9/_-]*).*p=([0-9]+)$"){
rewrite ^/advancedsearch4.php /%1/%2?p=%3 redirect;
}
if ($query_string ~ "^id_seo=([0-9]+)&seo_url=([a-zA-Z0-9/_-]*)"){
rewrite ^/advancedsearch4.php /%1/%2? redirect;
}
}
, но все, что у меня есть, - 404 для seo url. Пожалуйста, расскажите, что я делаю неправильно? Я прочитал несколько книг о перезаписи nginx, но не могу понять, как это работает.