1

i have a nginx server running and want to remove the .php extension from my files. I have allready tried a few things but the only thing i managed to accopmplish was breaking the fastcgi proccessing leading into downloading php files. The server is running fine with the following configuration:

## # Virtual Host configuration for example.com ## server { listen 80; listen [::]:80; server_name example.com www.example.com; return 301 https://www.example.com$request_uri; } server { listen 443 ssl; listen [::]:443 ssl; ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GC$ ssl_prefer_server_ciphers on; ssl_dhparam /etc/letsencrypt/dhparams.pem; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; root /usr/share/nginx/html/example/; index index.php; server_name example.com www.example.com; location / { try_files $uri $uri/ =404; } location /uploads { deny all; } error_page 404 /templates/404.php; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi.conf; fastcgi_intercept_errors on; } location ~* \.(?:ttf|ttc|otf|eot|woff|font.css|jpg|jpeg|png|gif|ico|css|js)$ { expires 365d; access_log off; add_header Cache-Control "public"; } location ~ /\. { deny all; } } 

Thank you for your effort and time.

1

1 Answer 1

1
## # Virtual Host configuration for example.com ## server { listen 80; listen [::]:80; server_name example.com www.example.com; return 301 https://www.example.com$request_uri; } server { listen 443 ssl; listen [::]:443 ssl; ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GC$ ssl_prefer_server_ciphers on; ssl_dhparam /etc/letsencrypt/dhparams.pem; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; root /usr/share/nginx/html/example/; index index.php; server_name example.com www.example.com; location / { try_files $uri $uri/ @extensionless-php; // add @extensionless-php } location /uploads { deny all; } error_page 404 /templates/404.php; location ~ \.php$ { try_files $uri =404; // add this fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi.conf; fastcgi_intercept_errors on; } location @extensionless-php { // add this block rewrite ^(.*)$ $1.php last; } location ~* \.(?:ttf|ttc|otf|eot|woff|font.css|jpg|jpeg|png|gif|ico|css|js)$ { expires 365d; access_log off; add_header Cache-Control "public"; } location ~ /\. { deny all; } } 

from this site http://www.tweaktalk.net/60/nginx-remove-php-file-extension-from-url

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.