opencart 在Nginx下的伪静态配置

原创 tiangr  2017-02-24 20:22  阅读 237 次

http://stackoverflow.com/questions/15625928/opencart-on-nginx

Opencart 可以在Nginx的环境下使用SEO URLs功能吗?Apache是没问题的,它自带了 .htaccess文件, 但是Nginx下可以自动进行伪静态化URL吗?

OpenCart 在 Nginx 下 - 我已经使用这个配置快一年了. 其他人也开始使用. Nginx 环境有时候比较麻烦。

我的站点 www.site.com.vhost 举例:

  1. # FORCE WWW
  2. server {
  3.     server_name  site.com;
  4.     rewrite ^(.*) http://www.site.com$1 permanent;
  5. }
  6. # MAIN SERVER
  7. # NINX 0.8.54 - WORKS ON 1.1.19
  8. server {
  9.     server_name  www.site.com;
  10.     listen 80;
  11.     root /var/www/www.site.com/web;
  12.     index index.php index.html;
  13.     location /image/data {
  14.         autoindex on;
  15.     }
  16.     location /admin {
  17.         index index.php;
  18.     }
  19.     location / {
  20.         try_files $uri @opencart;
  21.     }
  22.     location @opencart {
  23.         rewrite ^/(.+)$ /index.php?_route_=$1 last;
  24.     }
  25.     location = /favicon.ico {
  26.         log_not_found off;
  27.         access_log off;
  28.     }
  29.     location = /robots.txt {
  30.         allow all;
  31.         log_not_found off;
  32.         access_log off;
  33.     }
  34.     # Make sure files with the following extensions do not get loaded by nginx because nginx would display the source code, and these files can contain PASSWORDS!
  35.     location ~* \.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$|\.php_ {
  36.         deny all;
  37.     }
  38.     # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
  39.     location ~ /\. {
  40.         deny all;
  41.         access_log off;
  42.         log_not_found off;
  43.     }
  44.     location ~*  \.(jpg|jpeg|png|gif|css|js|ico)$ {
  45.         expires max;
  46.         log_not_found off;
  47.     }
  48.     location ~ \.php$ {
  49.         try_files $uri =404;
  50.         include /etc/nginx/fastcgi_params;
  51.         fastcgi_pass 127.0.0.1:9000;
  52.         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  53.     }
  54. }

接下来你就可以在后台开启SEO URL 功能, 查看更多关于此类的问题 tagged nginx and opencart  以及更多使用 location / {}来配置url的方法。

建议你读下面这篇文章来消除首页的route参数

Remove index.php?route=common/home from OpenCart

特别提示:本站资源全部免费下载,因服务器需经费维护,文中部分外链点击后会进入广告,请耐心等待5秒即可跳过广告进入目标页面。如遇页面外链打不开或下载地址失效,您可以在评论中指出错误,或扫描页面底部二维码。
本文地址:http://www.tiangr.com/opencart-zai-nginx-xia-de-wei-jing-tai-pei-zhi.html
版权声明:本文为原创文章,版权归 tiangr 所有,欢迎分享本文,转载请保留出处!

发表评论


表情