首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >nginx上的Zend框架

nginx上的Zend框架
EN

Stack Overflow用户
提问于 2008-12-18 02:31:25
回答 7查看 34.9K关注 0票数 16

我工作过的基于Zend Framework的站点现在正在迁移到它的生产服务器上。这个服务器原来是nginx (惊喜!)。当然,该站点不能正常工作,因为它是在Apache上开发的,并且依赖于htaccess文件。

我的问题是。有谁有这方面的经验吗?关于如何将htaccess文件转换成nginx.conf文件有什么想法吗?我正在研究这个,但我希望有人已经有了这方面的经验。谢谢!

编辑:这是当前的htaccess:

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ /index.php [NC,L]
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-01-20 09:38:43

我知道这是一个相当古老的帖子,但不管怎样,它可能会帮助一些人。

基本上,它会将任何404错误重定向到index.php,但如果文件存在(类型为file),它将设置正确的根。

我是从我的头顶开始做的。它可能不会立即工作,您必须设置正确的路径和fastcgi配置。我还把所有东西都放回了index.php,因为它应该像Zend_Framework那样工作

代码语言:javascript
复制
error_page  404 = /index.php;

location / {
    if (-f $request_filename) {
        root   /var/www;
    }
}

location ~ \.php$ {
        fastcgi_pass   unix:/tmp/php.sock;
        fastcgi_index  index.php;

        fastcgi_param  SCRIPT_FILENAME     /var/www/index.php;
        include /etc/nginx/fastcgi_params;
}
票数 17
EN

Stack Overflow用户

发布于 2010-12-17 20:32:24

代码语言:javascript
复制
server {

 listen   80; ## listen for ipv4
 listen   [::]:80 default ipv6only=on; ## listen for ipv6

 server_name  localhost;

 access_log  /var/log/nginx/localhost.access.log;
 error_log  /var/log/nginx/localhost.error.log;

 root   /var/www/localhost/public;

 try_files $uri @php_index;

 # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
 #
 location @php_index {
  fastcgi_pass   127.0.0.1:9000;
  fastcgi_param  SCRIPT_FILENAME /var/www/localhost/index.php;
  include fastcgi_params;
 }
}

建议尽可能使用try_files。

票数 29
EN

Stack Overflow用户

发布于 2012-04-17 20:20:50

这是“官方的”,简单而且很好用:

http://wiki.nginx.org/Zend_Framework#Time_for_nginx

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/376732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档