Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Nginx: Setting a default file extension

Tags:

nginx

What rule would I use for nginx so my default file extension is .php?

I currently access a pages using www.mywebsite.com/home.php but I want to just use www.mywebsite.com/home

Thanks

like image 840
Chip Avatar asked Oct 13 '11 21:10

Chip


1 Answers

Assuming you also want to serve static files, you could use something like this:

server {
  server_name example.com;

  # Set the docroot directly in the server
  root /var/www;

  # Allow index.php or index.html as directory index files
  index index.html index.php;

  # See if a file or directory was requested first.  If not, try the request as a php file.
  location / {
    try_files $uri $uri/ $uri.php?$args;
  }

  location ~ \.php$ {
    # If the php file doesn't exist, don't pass the request to php, just return a 404
    try_files $uri =404;

    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $request_filename;

    fastcgi_pass your_php_backend_address;
  }
}
like image 80
kolbyjack Avatar answered Sep 28 '22 08:09

kolbyjack