首页 > 系统管理 > Nginx下zend framework的设置

Nginx下zend framework的设置

2008年9月25日

在Linux环境下增加一段虚拟服务器的设置,设置nginx.conf如下

   server {
        listen 80;
        server_name audit.local;
        root /app/audit/public;
        access_log  /app/audit/logs/audit.access.log main;
        error_log   /app/audit/logs/audit.error.log;
        location / {
            index  index.;
        # If file not found, redirect to Zend handling, we can remove the (if) here and go directly rewrite
            if (!-f $request_filename){
                rewrite ^/(.+)$ /index.php?$1& last;
            }
        }
        location ~* ^.+\.(js|ico|gif|jpg|jpeg|pdf|png|css)$ {
          access_log   off;
          expires      7d;
        }
        location ~ .*\.php?$ {
            fastcgi_pass   127.0.0.1:36;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
        error_page  404             http://audit.local/error;
   }

你也可以参考apache下zend framework的设置

VN:F [1.9.22_1171]
Rating: 1.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)
Nginx下zend framework的设置, 1.0 out of 10 based on 1 rating

系统管理 , , ,

  1. qingyue
    | #1

    rewrite ^/(.+)$ /index.php?$1& last;
    这个重写规则应用后,常规的图片、css、js都并不能访问了。

    VA:F [1.9.22_1171]
    Rating: 5.0/5 (1 vote cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
    • inetdemon
      | #2

      看你的目录怎么安排了,请注意下面第一句的意思是原目录下面文件或者目录找不到的话再执行重定向,如果找到就执行。如果你的css等目录在根目录下,这么设定就好了。
      if (!-f $request_filename){
      rewrite ^/(.+)$ /index.php?$1& last;
      }

      VN:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
      VN:F [1.9.22_1171]
      Rating: 0 (from 0 votes)
  2. qingyue
    | #3

    多谢。
    有个问题想请教一下:
    location / {
    index index.php;
    # If file not found, redirect to Zend handling, we can remove the (if) here and go directly rewrite
    if (!-f $request_filename){
    rewrite ^/(.+)$ /index.php?$1& last;
    }
    }
    把location / 改为 location /test,也就是之让/test有rewrite功能,但是这样其他目录都不能访问了

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  3. inetdemon
    | #4

    Zend framework是单一入口,所有的访问必须先通过index.php。如果你想对其他目录再做静态化,可以在上述规则之外设置nginx的rewrite规则。也可以用Zend framework自己的router来设置,对于访问量不是非常大的应用,建议用router来设置,这样修改方便。

    VN:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VN:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  1. 本文目前尚无任何 trackbacks 和 pingbacks.

This blog is kept spam free by WP-SpamFree.