NGINX Remove index.php /index.php/something/more/ to /something/more

Posted by Gaston on Server Fault See other posts from Server Fault or by Gaston
Published on 2011-03-26T06:33:27Z Indexed on 2012/06/16 9:18 UTC
Read the original article Hit count: 360

Filed under:
|
|
|
|

I'm trying to clean urls in NGINX using framework DooPHP.

This => - http://example.com/index.php/something/more/ To This => - http://example.com/something/more/

I want to remove (clean url) the "index.php" from the url if someone try to enter in the first form. Like a permanent redirect.

How to do this config on NGINX?

Thanks.

[Update: Actual nginx config]

server {
  listen 80;
  server_name vip.example.com;
  rewrite ^/(.*) https://vip.example.com/$1 permanent;
}

server {
       listen 443;
       server_name vip.example.com;

       error_page 404 /vip.example.com/404.html;
       error_page 403 /vip.example.com/403.html;
       error_page 401 /vip.example.com/401.html;
       location /vip.example.com {
           root /sites/errors;
       }

       ssl on;
       ssl_certificate /etc/nginx/config/server.csr;
       ssl_certificate_key /etc/nginx/config/server.sky;

       if (!-e $request_filename){
           rewrite /.* /index.php;
       }

       location / {
           auth_basic  "example Team Access";
           auth_basic_user_file  config/htpasswd;
           root   /sites/vip.example.com;
           index  index.php;
       }

       location ~ \.php$ {
           fastcgi_pass   127.0.0.1:9000;
           fastcgi_index  index.php;
           fastcgi_param  SCRIPT_FILENAME  /sites/vip.example.com$fastcgi_script_name;
           include        fastcgi_params;
           fastcgi_param PATH_INFO $fastcgi_script_name;
      }

}

© Server Fault or respective owner

Related posts about php

Related posts about nginx