12

I am trying to setup my Laravel 4 project using nginx . Here is my nginx server block for laravel :

server { listen 80; root /home/prism/www/laravel/public; index index.php index.html index.htm; server_name example.com; location / { try_files $uri $uri/ /index.php$is_args$args; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } 

But my problem is , Its showing "404 not found" error for all other routes except the default one , that comes with default installation .

2 Answers 2

25

This is an NGINX Configuration i've used with Laravel 4 and Laravel 4.1 that works.

server { listen 80; server_name sub.domain.com; set $root_path '/var/www/html/application_name/public'; root $root_path; index index.php index.html index.htm; try_files $uri $uri/ @rewrite; location @rewrite { rewrite ^/(.*)$ /index.php?_url=/$1; } location ~ \.php { fastcgi_pass 127.0.0.1:9000; fastcgi_index /index.php; include /etc/nginx/fastcgi_params; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } location ~* ^/(css|img|js|flv|swf|download)/(.+)$ { root $root_path; } location ~ /\.ht { deny all; } } 
Sign up to request clarification or add additional context in comments.

2 Comments

This worked for me, however I couldn't use all of your config settings. What I did was just use Nginx's current default and changed the try_files in location / {} to what you have and then add the @rewrite location. Now everything works dandy.
No. wiki.nginx.org/Pitfalls#Taxing_Rewrites @RobGordijn has a much better solution.
13

you could try this for location / { ... }

location / { try_files $uri $uri/ /index.php?$query_string; } 

$query_string worked for me.

1 Comment

for me settting this under location / worked: try_files $uri $uri/ /index.php?$args;

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.