nginx reescreve as regras para o Joomla!

2

Eu tenho nginx instalado no Ubuntu a partir do repositório (v0.7.65), e enquanto com a minha configuração de site padrão faz maravilhas com URLs bonitas do WordPress e plugin de compatibilidade nginx (até agora), isso não acontece com o Joomla! . Aqui está a configuração:

server {
listen   80 default;
server_name  localhost;

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

root   /var/www/nginx-default;

location /wordpress {
    try_files $uri $uri/ @wordpress;
}

location /joomla {
    try_files $uri $uri/ @joomla;
}

# Configuración para instalaciones de WordPress
location @wordpress {
    fastcgi_pass   127.0.0.1:9120;
    fastcgi_param SCRIPT_FILENAME $document_root/wordpress/index.php;
    include fastcgi_params;
}

# Configuración para instalaciones de Joomla!
location @joomla {
    fastcgi_pass   127.0.0.1:9120;
    fastcgi_param SCRIPT_FILENAME $document_root/joomla/index.php;
    include fastcgi_params;
}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
    fastcgi_pass   127.0.0.1:9120;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

}

Eu consegui para me mostrar o índice, o administrador e um nível abaixo dos links. Ou seja, se eu acessar / joomla / joomla-overview, funciona muito bem (com URLs amigáveis e o mod_rewrite do Apache habilitado no Joomla!), Mas se eu tentar / joomla / joomla-overview / what-is-new-in-1 -5, eu recebo um erro .

O que você acha que está acontecendo aqui? Você conhece outras configurações para que funcione, de preferência dentro do ambiente que eu tenho agora?

Agradecemos antecipadamente pelo seu apoio.

PS: Por favor, não encontrei muita ajuda para relacionar meu problema. Eu tentei soluções diferentes, sem sucesso.

    
por Andrés 24.06.2010 / 02:08

1 resposta

1

Não tenho certeza se isso foi resolvido, mas essa configuração do nginx funciona para a instalação do meu joomla.

server {
  server_name example.com;
  rewrite ^ http://www.example.com$request_uri permanent;
 }
server {
  server_name www.example.com;
  root /home/public_html/example.com/public;
  error_page   404          /404.html;
  try_files $uri $uri/ /index.php?q=$request_uri;

  index index.php index.htm index.html;
  # serve static files directly
  location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|html)$ {
    access_log off;
    expires 30d;
  }
  location 404.html{
    index /404.html;
  }
  location ~* \.php$ {
    # By all means use a different server for the fcgi processes if you need to
    fastcgi_pass 127.0.0.1:9000;
    include /etc/nginx/fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param QUERY_STRING $query_string;
    fastcgi_param REQUEST_METHOD $request_method;
    fastcgi_param CONTENT_TYPE $content_type;
    fastcgi_param CONTENT_LENGTH $content_length;
  }
  location ~ /\.ht {
    deny all;
  }
}
    
por 17.12.2010 / 20:38