Zend Framework mit nginx

Zend Framework und nginx - beide sind wirklich starke Tools was Webentwicklung angeht. Allerdings ist die benötigte Rewrite Konfiguration für das Zend Framework nur für den Apache2 in Form einer .htaccess-Datei "beigelegt". Wer nginx kennt, weiß, das es hier etwas anders funktioniert, die Rewrite-Regeln werden direkt in die Konfiguration des nginx-Servers beziehungsweise des nginx-VHosts geschrieben. Um nun das Framework sicher zum laufen zu bekommen brauchen wir eigentlich nur eine Konfiguration wie diese:

server {
  listen 80;
  server_name example.com;
  root /var/www/yourzendapp/public;  
  location / {    
    index index.php;  
  }  

  # Zugriff auf sensible Dateien verwehren  
  location ~ (\.inc\.php|\.tpl|\.sql|\.tpl\.php|\.db)$ {
    deny all;  
  }  

  # Die htaccess brauchen wir nicht mehr - und wenn sie noch da is  
  # sollte sie nicht angezeigt werden  
  location ~ \.htaccess {
    deny all;  
  }  

  # Die eigentliche RewriteRule für das Zend Framework  
  if (!-e $request_filename) {    
    rewrite ^.*$ /index.php last;
  }  
  # Hier werden die PHP-Dateien zum FastCGI weitergeleitet  
  # Die Config/Der Port sollte mit euerer Konfiguration übereinstimmen  
  location ~ \.php$ {
    include /etc/nginx/fastcgi_params;
    fastcgi_pass   127.0.0.1:9000;    

    # Hier kommt das Environment rein was ihr benutzt, also z.B.    
    # development oder wie hier staging    
    fastcgi_param   APPLICATION_ENV staging;    
    fastcgi_index  index.php;
  }
}

Wie man sieht ist die eigentliche Rewrite-Regel garnicht so schwer, einfacher als beim Apache möchte ich fast behaupten :)






Proudly powered by Microsoft IIS, Visual Basic .NET and DHTML. NOT.
Copyright © izzy
License Info