nginx 隱藏 index.php


 

使用情景如下:

在訪問 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的瀏覽目錄的功能;

原文地址:https://mp.weixin.qq.com/s/ltd3LlZn4vpq1vxCRqSaQQ

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM