Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Nginx configuration for Craft for speaking urls
* General Configuration
* All of your system's general configuration settings go in here.
* You can see a list of the default settings in craft/app/etc/config/defaults/general.php
return array(
'usePathInfo' => true,
'omitScriptNameInUrls' => true,
## This is a possible configuration for nginx in Laravel Homestead for Craft
server {
listen 80;
listen 443 ssl;
root "path/to/your/installation";
index index.html index.htm index.php;
charset utf-8;
location / {
try_files $uri $uri/ @rewrites;
location @rewrites {
rewrite ^(.*) /index.php?p=$1 last;
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
access_log off;
error_log /var/log/nginx/ error;
sendfile off;
client_max_body_size 100m;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors off;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
error_page 404 /index.php;
location ~ /\.ht {
deny all;
ssl_certificate /etc/nginx/ssl/;
ssl_certificate_key /etc/nginx/ssl/;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.