ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Nginx为prestashop重写规则,如何设置,调试和启用?

2019-06-25 18:56:37  阅读:339  来源: 互联网

标签:nginx rewrite prestashop


出于性能原因,我想从Apache更改为Nginx Php-Fpm.目前我可以看到我的网站的主页(在测试环境中),但是在Apache中工作的任何友好网址现在都不起作用.

我已经将规则转换为nginx规则,但我没有办法测试它,因为每次点击网站的某个网址都会变成我的浏览器下载php文件!

例如

我点击www.misite.com/autentication和我的浏览器下载一个php文件: – /

环境测试是

> PHP 5.3.17(cli)(建造时间:2012年9月13日06:45:07)
版权所有(c)1997-2012 PHP小组
Zend Engine v2.3.0,版权所有(c)1998-2012 Zend Technologies
> nginx -v
nginx版本:nginx / 1.0.15

这是我的nginx虚拟主机配置:

server {
        server_name     site.com www.site.com;
        root            /srv/www/site.com/httpdocs;
        access_log      /srv/www/site.com/log/access.log;
        error_log       /srv/www/site.com/log/error.log;
        rewrite_log on;
        location / {
                index  index.html index.htm index.php;
                rewrite ^/([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$/img/p/$1-$2$3.jpg? break;
        rewrite ^/([0-9]+)\-([0-9]+)/[_a-zA-Z0-9-]*\.jpg$/img/p/$1-$2.jpg? break;
        rewrite ^/([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$/img/p/$1/$1$2.jpg? break;
        rewrite ^/([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$/img/p/$1/$2/$1$2$3.jpg? break;
        rewrite ^/([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$/img/p/$1/$2/$3/$1$2$3$4.jpg? break;
        rewrite ^/([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$/img/p/$1/$2/$3/$4/$1$2$3$4$5.jpg? break;
        rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$/img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.jpg? break;
        rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$/img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7.jpg? break;
        rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$/img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8.jpg? break;
        rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$/img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9.jpg? break;
        rewrite ^/c/([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$/img/c/$1$2.jpg? break;
        rewrite ^/c/([a-zA-Z-]+)/[a-zA-Z0-9-]+\.jpg$/img/c/$1.jpg? break;
        rewrite ^/([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$/img/c/$1$2.jpg? break;
        rewrite ^/([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$1 break;
        rewrite ^/[a-zA-Z0-9-]*/([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$1 break;
        rewrite ^/([0-9]+)\-[a-zA-Z0-9-]*(/[a-zA-Z0-9-]*)+ /category.php?id_category=$1&noredirect=1 break;
        rewrite ^/([0-9]+)\-[a-zA-Z0-9-]* /category.php?id_category=$1 break;
        rewrite ^/([0-9]+)__([a-zA-Z0-9-]*) /supplier.php?id_supplier=$1 break;
        rewrite ^/([0-9]+)_([a-zA-Z0-9-]*) /manufacturer.php?id_manufacturer=$1 break;
        rewrite ^/content/([0-9]+)\-([a-zA-Z0-9-]*) /cms.php?id_cms=$1 break;
        rewrite ^/content/category/([0-9]+)\-([a-zA-Z0-9-]*) /cms.php?id_cms_category=$1 break;
        rewrite ^/pagina-no-encuentra$/404.php break;
rewrite ^/direccion$/address.php break;
        rewrite ^/direcciones$/addresses.php break;
        rewrite ^/autenticacion$/authentication.php break;
        rewrite ^/mas-vendidos$/best-sales.php break;
        rewrite ^/carro-de-la-compra$/cart.php break;
        rewrite ^/contactenos$/contact-form.php break;
        rewrite ^/descuento$/discount.php break;
        rewrite ^/estado-pedido$/guest-tracking.php break;
        rewrite ^/historial-de-pedidos$/history.php break;
        rewrite ^/identidad$/identity.php break;
        rewrite ^/fabricantes$/manufacturer.php break;
        rewrite ^/mi-cuenta$/my-account.php break;
        rewrite ^/nuevos-productos$/new-products.php break;
        rewrite ^/carrito$/order.php break;
        rewrite ^/devolucion-de-productos$/order-follow.php break;
        rewrite ^/pedido-rapido$/order-opc.php break;
        rewrite ^/vales$/order-slip.php break;
        rewrite ^/contrasena-olvidado$/password.php break;
        rewrite ^/promocion$/prices-drop.php break;
        rewrite ^/buscar$/search.php break;
        rewrite ^/mapa-del-sitio$/sitemap.php break;
        rewrite ^/tiendas$/stores.php break;
        rewrite ^/proveedores$/supplier.php break;
        error_page 404 = /404.php;
        }
        location ~ \.php${
                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;
        }
}

最糟糕的问题是我没有一些调试问题的经验: – /非常新的Nginx
任何评论将不胜感激,

谢谢

解决方法:

好的,我已经解决了自己的问题!顺便说一下,它只是改变规则的位置

我已经移动了所有的规则

location /{
.... rules...
}

server {

...here rules works...

}

然后我重新加载nginx就是这样!

服务nginx重新加载

我希望这对像我这样绝望的人有用.

最好的祝福,

鲁本

标签:nginx,rewrite,prestashop
来源: https://codeday.me/bug/20190625/1288256.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有