Comment puis-je configurer nginx des règles de réécriture pour obtenir CakePHP travail sur CentOS?

Salut quelqu'un merci de m'aider, je suis en train de l'installation de cakephp environnement sur un Centos serveur exécutant Nginx avec Fait CGI. J'ai déjà un site wordpress en cours d'exécution sur le serveur et un phpmyadmin site j'ai donc PHP est configuré correctement.

Mon problème est que je n'arrive pas à réécrire les règles d'installation correcte dans mon vhost, de sorte que le gâteau rend les pages correctement c'est à dire avec style et ainsi de suite. J'ai googlé, autant que possible, et le principal consensus à partir des sites comme celui ci-dessous est que j'ai besoin d'avoir la règle de réécriture suivante en place

location / {
          root   /var/www/sites/somedomain.com/current;
          index  index.php index.html;

          # If the file exists as a static file serve it 
          # directly without running all
          # the other rewrite tests on it
          if (-f $request_filename) { 
            break; 
          }
          if (!-f $request_filename) {
            rewrite ^/(.+)$ /index.php?url=$1 last;
            break;
          }
        }

http://blog.getintheloop.eu/2008/4/17/nginx-engine-x-rewrite-rules-for-cakephp

problème est que ces réécrire supposons que vous exécutez gâteau directement de la racine de votre site qui n'est pas ce que je veux faire. J'ai une configuration standard pour chaque site, c'est à dire un dossier par site, qui contient les dossiers suivants journal, de sauvegarde, privé et public. Public où nginx est à la recherche de ses fichiers à servir, mais j'ai gâteau installé en privé avec un lien symbolique dans le public, l'établissement de liens vers /private/gâteau/

c'est mon vhost

server {
            listen      80;
            server_name app.domain.com;

            access_log /home/public_html/app.domain.com/log/access.log;
            error_log /home/public_html/app.domain.com/log/error.log;

  #configure Cake app to run in a sub-directory
  #Cake install is not in root, but elsewhere and configured
  #in APP/webroot/index.php**

                location /home/public_html/app.domain.com/private/cake {
                index index.php;

    if (!-e $request_filename) {
        rewrite ^/(.+)$ /home/public_html/app.domain.com/private/cake/$1 last;
        break;
    }
}

                location /home/public_html/app.domain.com/private/cake/ {
                index index.php;

    if (!-e $request_filename) {
        rewrite ^/(.+)$ /home/public_html/app.domain.com/public/index.php?url=$1 last;
        break;
        }
}

         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME /home/public_html/app.domain.com/private/cake$fastcgi_script_name;
            include        /etc/nginx/fastcgi_params;
        }

 }

Maintenant comme je l'ai dit, je peux voir le principal index.php de gâteau et l'avoir connecté à mon DB, mais cette page est sans style, donc avant d'aller plus loin, je tiens à le configurer correctement. Ce que je fais mal?

Grâce seanl

OriginalL'auteur | 2009-06-25