NGINX删除index.php /index.php/something/more/到/ something / more

我正在尝试使用框架DooPHP清除NGINX中的url。

这=> – http://example.com/index.php/something/more/要这样=> – http://example.com/something/more/

我想从url中删除(干净的url)“index.php”,如果有人试图进入第一种forms。 像永久redirect一样。

如何在NGINX上做这个configuration?

谢谢。

[更新:实际的nginxconfiguration]

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 { .... rewrite ^/index.php/(.*) /$1 permanent; .... } 

我已经在CodeIgniter 1.7和2.0上试了一下,我改变了

config.php $config['uri_protocol'] = "REQUEST_URI";

我添加try_files $uri $uri/ /index.php?r=$request_uri;

在nginx.conf,并工作

 location / { auth_basic "example Team Access"; auth_basic_user_file config/htpasswd; root /sites/vip.example.com; index index.php; try_files $uri $uri/ /index.php?r=$request_uri; } 

也许它在DooPHP上是一样的

将此添加到nginx服务器configuration部分。

 location / { if (!-e $request_filename) { rewrite ^/([^?]*)(?:\?(.*))? /index.php?title=$1&$2 last; } if ($uri ~* "\.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$") { expires max; break; } } 

如果你只有php文件,你可以使用:

 location / { rewrite ^(.*)$ /index.php } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }