2015-09-13 2 views
0

Может ли кто-нибудь помочь мне с правилами перезаписи для расширенного поиска 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, но не могу понять, как это работает.

ответ

0

Первое место разрешено и работает.

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; 

, но до сих пор не знают, что делать с другими ..

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