Nirealto
Постоялец
- Регистрация
- 10 Июл 2015
- Сообщения
- 125
- Реакции
- 89
Здравствуйте, помогите пожалуйста разобраться с рерайтами в nginx. Престашоп 1.6 прописываю в etc/nginx/sites_aviable/сайт.ком.conf
Брал тут: Для просмотра ссылки Войдиили Зарегистрируйся
но пропадают фото товаров и при переходе на другие странички с главной выдает ошибку 404.
Код:
server {
listen *:80;
server_name site.ru;
root /home/user/www;
access_log /home/user/logs/nginx.access.log; #расположение логов доступа
error_log /home/user/logs/nginx.error.log; #расположение логов ошибок
index index.php index.html;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
# Deny all for .htaccess, .htpasswd, .DS_Store (Mac).
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
# рерайты пересташопа
rewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last;
rewrite ^/([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$1$2$3.jpg last;
rewrite ^/([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$1$2$3$4.jpg last;
rewrite ^/([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$1$2$3$4$5.jpg last;
rewrite ^/([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg last;
rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg last;
rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg last;
rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg last;
rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg last;
rewrite ^/c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ /img/c/$1$2$3.jpg last;
rewrite ^/c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ /img/c/$1$2.jpg last;
rewrite ^/images_ie/?([^/]+)\.(jpe?g|png|gif)$ /js/jquery/plugins/fancybox/images/$1.$2 last;
try_files $uri $uri/ /index.php$is_args$args;
error_page 404 /index.php?controller=404;
# рерайты advanced search 4
rewrite ^/as4_seositemap.xml$ /modules/pm_advancedsearch4/seositemap.xml last;
if ($args !~* "^controller=products-comparison"){
set $rule_1 1;
}
if ($rule_1 = "1"){
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 last;
}
if ($args ~ "^isolang=([a-z]{2})&id_seo=([0-9]+)&seo_url=([a-zA-Z0-9/_-]*).*p=([0-9]+)$"){
set $rule_2 1;
set $bref_2_0 $1;
set $bref_2_1 $2;
set $bref_2_2 $3;
set $bref_2_3 $4;
}
if ($rule_2 = "1"){
rewrite ^/advancedsearch4.php /${bref_2_0}/s/${bref_2_1}/${bref_2_2}?p=${bref_2_3} permanent;
}
if ($args ~ "^isolang=([a-z]{2})&id_seo=([0-9]+)&seo_url=([a-zA-Z0-9/_-]*)"){
set $rule_3 1;
set $bref_3_0 $1;
set $bref_3_1 $2;
set $bref_3_2 $3;
}
if ($rule_3 = "1"){
rewrite ^/advancedsearch4.php /${bref_3_0}/s/${bref_3_1}/${bref_3_2}? permanent;
}
if ($args ~ "^id_seo=([0-9]+)&seo_url=([a-zA-Z0-9/_-]*).*p=([0-9]+)$"){
set $rule_4 1;
set $bref_4_0 $1;
set $bref_4_1 $2;
set $bref_4_2 $3;
}
if ($rule_4 = "1"){
rewrite ^/advancedsearch4.php /s/${bref_4_0}/${bref_4_1}?p=${bref_4_2} permanent;
}
if ($args ~ "^id_seo=([0-9]+)&seo_url=([a-zA-Z0-9/_-]*)"){
set $rule_5 1;
set $bref_5_0 $1;
set $bref_5_1 $2;
}
if ($rule_5 = "1"){
rewrite ^/advancedsearch4.php /s/${bref_5_0}/${bref_5_1}? permanent;
}
location ~ \.php$ {
try_files $uri =404;
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
}
gzip on;
gzip_disable "msie6";
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js;
gzip_comp_level 6;
gzip_vary on;
location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf|css|js|jsonp)$ { expires 30d; }
}
С виду жесть полная, но у меня работает всё кроме ссылки к карте сайта.