Nginx con Drupal 7 URL limpias

Uno de los problemas comunes al probar el servidor Nginx es instalar la URL limpias, lo primero que tenemos que mirar es la configuración de archivo vhost en Nginx. Todos los archivos están en /etc/nginx/sites-available/. Hay dos líneas que tenemos que añadir:

location / {
# Si hay contenido estático no se toca
try_files $uri @rewrite;
}
location @rewrite {
# Dos opciones:
# Drupal 7 y superiores:
# URL limpias se maneja en drupal_environment_initialize().
rewrite ^ /index.php;
# Drupal 6 e inferiores:
#rewrite ^/(.*)$ /index.php?q=$1;
}

Después tenemos que añadir la linea fastcgi_split_path_info ^(.+\.php)(/.+)$; a la parte Nignx que maneja php, esta opción es muy variable, ya que podemos tener configurado php-fpm de diferentes formas, en mi caso usa no usa sockets y esta es la configuración.

location @php {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
try_files $uri =404;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/lib/php5-fpm/web5.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
fastcgi_buffers 256 4k;
fastcgi_buffer_size 128k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
}

Las últimas líneas respecto al buffer y connect timeout es por si tenemos problemas a la hora de actualizar los idiomas. Después reiniciamos el nginx con

sudo service nignx reload

Por último ya podemos acceder a la web mediante  http://tudominio.com/admin/config/search/clean-urls, en caso de no poder acceder simplemente cambiamos esta línea en el archivo sites/default/settings.php

$GLOBALS['conf']['clean_url'] = 0;

Añadir nuevo comentario

CAPTCHA
Esta pregunta es para comprobar si usted es un visitante humano y prevenir envíos de spam automatizado.