使用情景如下:
在訪問 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
