Oi alguém, por favor, me ajude, eu pedi isso em stackoverflow também, mas não tenho muita resposta e estava debatendo se era programação ou servidor relacionado.
Estou tentando configurar um ambiente cakephp em um servidor Centos executando Nginx com o Fact CGI. Eu já tenho um site wordpress rodando no servidor e um site phpmyadmin então eu tenho o PHP configurado corretamente.
Meu problema é que eu não consigo configurar a regra de reescrita correta no meu vhost para que o bolo processe as páginas corretamente, ou seja, com estilo e assim por diante. Eu pesquisei o máximo possível e o principal consenso dos sites, como o listado abaixo, é que eu preciso ter a seguinte regra de reescrita em vigor
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;
}
}
link
problema é que estes reescrevem supondo que você execute o bolo diretamente da webroot, que não é o que eu quero fazer. Eu tenho uma configuração padrão para cada site, ou seja, uma pasta por site contendo as seguintes pastas log, backup, privado e público. Público sendo onde nginx está procurando seus arquivos para servir mas eu tenho bolo instalado em privado com um link simbólico em público ligando de volta para / private / cake /
este é o meu 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;
}
}
Agora, como eu disse, posso ver o principal index.php do cake e conectá-lo ao meu DB, mas esta página não tem estilo, então antes de continuar, gostaria de configurá-lo corretamente. O que estou fazendo errado ……….
Obrigado seanl