nginx 隐藏 index.php

2018-06-11 小惟 13

使用情景如下:

在访问 http://php.cc/Att/AttList 的时候、跳转到 http://php.cc/index.php/Att/AttList ;

也就是开启重写功能;

在nginx配置文件nginx.conf中添加:

location / {

  if ( !e $request_filename ) {

    rewrite ^/(.*)$ /index.php/$1 last;

  }

}

如果项目入口文件是在一个子目录里面,则如下:

location / {

  if ( !e $request_filename ) {

    rewrite ^/目录/(.*)$ /目录/index.php/$1 last;

  }

}

 

切记:不可以出现两个location / {}、否则nginx服务器将启动不了;

 

我的配置文件如下:

server {
  listen 80;
  server_name www.abcphp.cc abcphp.cc;
  root "D:/abc/php";
  location / {
    if (!-e $request_filename) {
      rewrite ^/(.*)$ /index.php?$1 last;
    }
    index index.html index.htm index.php;
    autoindex on;
  } 
  location ~ \.php(.*)$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
    include fastcgi_params;
  }
}

 

其中:

autoindex on;  是打开nginx的浏览目录的功能;


模板坊版权所有 京ICP备16066985号-2 京公网安备11010602022036号

100041

QQ:504895209

— 努力创造优质作品,奉献更多精品佳作 —

模板坊 - APP应用开发|网站建设|平面设计