PRESTASHOP NGINX + ПИСЬМЕННЫЕ ПРАВИЛА
Я искал хорошее решение для этой комбинации, и после следующих действий:
http://www.phamviet.net/2012/06/03/prestashop-rewrite-url-on-nginx/Конфигурация Nginx для PrestashopPrestashop 1.5.6.2 перезаписывает URL-адреса через nginxни один из них, казалось, не работал для меня вообще ... таким образом, я начал экспериментировать:
После настройки SSL, CloudFlare и т.д ....
Вот что я попробовал:
server {
listen 80;
server_name mysuperdomain.com www.mysuperdomain.com;
rewrite ^ https://$server_name$request_uri? permanent;
}
server {
# listen 80 deferred; # for Linux
# listen 80 accept_filter=httpready; # for FreeBSD
listen 443;
# The host name to respond to
server_name mysuperdomain.com *.mysuperdomain.com;
# Path for static files
root /sites/mysuperdomain.com/public;
ssl on;
ssl_certificate /etc/nginx/ssl/ssl.pem;
ssl_certificate_key /etc/nginx/ssl/ssl.key;
# Try static files first, then php
index index.html index.htm index.php;
# Specific logs for this vhost
access_log /sites/mysuperdomain.com/log/log-access.log;
error_log /sites/mysuperdomain.com/log/log-error.log error;
#Specify a charset
charset utf-8;
# Redirect needed to "hide" index.php
location / {
rewrite ^/([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/$1/http://www.phamviet.net/2012/06/03/prestashop-rewrite-url-on-nginx/2$3.jpg break;
rewrite ^/([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/$1/$2/http://www.phamviet.net/2012/06/03/prestashop-rewrite-url-on-nginx/2Prestashop 1.5.6.2 перезаписывает URL-адреса через nginx4.jpg break;
rewrite ^/([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/$1/$2/$3/http://www.phamviet.net/2012/06/03/prestashop-rewrite-url-on-nginx/2Prestashop 1.5.6.2 перезаписывает URL-адреса через nginx4$5.jpg break;
rewrite ^/([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/$1/$2/$3/$4/http://www.phamviet.net/2012/06/03/prestashop-rewrite-url-on-nginx/2Prestashop 1.5.6.2 перезаписывает URL-адреса через nginx4После настройки SSL, CloudFlare и т.д ....6.jpg break;
rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/$1/$2/$3/$4/$5/http://www.phamviet.net/2012/06/03/prestashop-rewrite-url-on-nginx/2Prestashop 1.5.6.2 перезаписывает URL-адреса через nginx4После настройки SSL, CloudFlare и т.д ....6$7.jpg break;
rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/$1/$2/$3/$4/$5/$6/http://www.phamviet.net/2012/06/03/prestashop-rewrite-url-on-nginx/2Prestashop 1.5.6.2 перезаписывает URL-адреса через nginx4После настройки SSL, CloudFlare и т.д ....6Кажется, это работает только для категорий, но не для отдельных страниц товаров и тому подобное.8.jpg break;
rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/$1/$2/$3/$4/$5/$6/$7/http://www.phamviet.net/2012/06/03/prestashop-rewrite-url-on-nginx/2Prestashop 1.5.6.2 перезаписывает URL-адреса через nginx4После настройки SSL, CloudFlare и т.д ....6Кажется, это работает только для категорий, но не для отдельных страниц товаров и тому подобное.8$9.jpg break;
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/$1/$2/$3/$4/$5/$6/$7/$8/http://www.phamviet.net/2012/06/03/prestashop-rewrite-url-on-nginx/2Prestashop 1.5.6.2 перезаписывает URL-адреса через nginx4После настройки SSL, CloudFlare и т.д ....6Кажется, это работает только для категорий, но не для отдельных страниц товаров и тому подобное.8Так что немного помощи было бы удивительно!10.jpg break;
if (-e $request_filename){
rewrite ^(.*)$ /index.php break;
}
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location /c {
rewrite ^/c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ /img/http://www.phamviet.net/2012/06/03/prestashop-rewrite-url-on-nginx/2$3.jpg break;
rewrite ^/c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ /img/http://www.phamviet.net/2012/06/03/prestashop-rewrite-url-on-nginx/2.jpg break;
}
location /images_ie {
rewrite ^/images_ie/?([^/]+)\.(jpe?g|png|gif)$ /js/jquery/plugins/fancybox/images/$1.$2 break;
}
# Don't log robots.txt or favicon.ico files
location ~* ^/(favicon.ico|robots.txt)$ {
access_log off;
log_not_found off;
}
# Custom 404 page
error_page 404 /index.php?controller=404;
location ~* ^.+.(gif|jpg|jpeg|png|wmv|avi|mpg|mpeg|mp4|htm|html|js|css|mp3|swf|ico|flv|xml) {
access_log off;
expires 30d;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_intercept_errors on;
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# Deny access to .htaccess
location ~ /\.ht {
deny all;
}
#PHPMYADMIN
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~* ^/phpmyadmin/(.+\.(jpeg|jpg|png|css|gif|ico|js|html|xml|txt))$ {
root /usr/share/;
}
}
location /phpMyAdmin {
rewrite ^/* /phpmyadmin last;
}
# Include the basic h5bp config set
include h5bp/basic.conf;
}
Кажется, это работает только для категорий, но не для отдельных страниц товаров и тому подобное.
Когда вы заходите в основной домен или переходите на домашнюю страницу, он загружает index.php вместо отображения домашней страницы.
Так что немного помощи было бы удивительно!