How to remove index.php from the server
服务器中去掉index.php的方法:1、打开php.ini文件,更改内容为“cgi.fix_pathinfo=1”;2、修改对应虚拟主机的配置文件;3、将“include enable-php.conf;”替换为“include enable-php-pathinfo.conf;”;4、去掉index.php,重启lnmp即可。
本教程操作环境:windows10系统、php7.0版、DELL G3电脑
服务器中怎么去掉index.php?
url中去掉index.php方法:
THINKPHP官方论坛和网络上很多NGINX配置教程不是太完善的。我一直比较喜欢使用lnmp.org配置服务器环境。所以本文将介绍 LNMP 配置NGINX 支持THINKPHP PATHINFO模式 。
thinkphp的url访问:http://serverName/index.php(或者其它应用入口文件)/模块/控制器/操作/[参数名/参数值...],这个需要支持pathinfo,Apache默认支持,而Nginx不支持。
1,修改PHP.INI 支持 PHPINOF
PHP配置文件:/usr/local/php/etc/php.ini
更改php.ini
找到:cgi.fix_pathinfo=0
更改为:cgi.fix_pathinfo=1
2.修改nginx对应配置文件
LNMP上各个版本pathinfo各个版本的设置基本一样:
lnmp v1.1上,修改对应虚拟主机的配置文件
去掉#include pathinfo.conf前面的#,把try_files $uri =404; 前面加上# 注释掉。
1.2, 1.3上,修改对应虚拟主机的配置文件
将include enable-php.conf;替换为include enable-php-pathinfo.conf;
修改pathinfo需要重启nginx生效。
去掉 index.php
location / { if (!-e $request_filename) { rewrite ^/(.*)$ /index.php/$1 last; } }
linux中 /usr/local/nginx/conf/配置文件
windows中
注意: root配置要定位到yyyy的位置,不一定是localhost
"D:/xxxx/localhost/yyyy";
3.重启lnmp即可。。
lnmp restart
4.设置url_mode =2
// -----------URL伪静态后缀设置---------- 'URL_MODEL'=>'2', // 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE 模式); 3 (兼容模式) 默认为PATHINFO 模式
注:有些文章提到nginx不支持pathinfo,需要在config文件中设置。
我没遇到过! 下面是别人的解决方法,仅供参考。
location ~ \.php { #去掉$ root H:/PHPServer/WWW; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(.*)$; #增加这一句 fastcgi_param PATH_INFO $fastcgi_path_info; #增加这一句 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
还有人是这么配置的:
server { listen 80; root *****************/public_html; server_name **************.com; index index.html index.php index.htm; error_page 400 /errpage/400.html; error_page 403 /errpage/403.html; error_page 404 /errpage/404.html; error_page 503 /errpage/503.html; location ~ \.php(.*)$ { fastcgi_pass unix:/tmp/php-70-cgi.sock; fastcgi_index index.php; fastcgi_param script_FILENAME $DOCUMENT_ROOT$fastcgi_script_name; fastcgi_param PATH_INFO $2; include fcgi.conf; ######################################################################## pathinfo配置开始 ######################################################################## set $path_info ""; set $real_script_name $fastcgi_script_name; if ($fastcgi_script_name ~ "^(.+\.php)(/.+)$") { set $real_script_name $1; set $path_info $2; } fastcgi_param script_NAME $real_script_name; fastcgi_param PATH_INFO $path_info; ######################################################################## pathinfo配置结束 ######################################################################## }
推荐学习:《PHP视频教程》
The above is the detailed content of How to remove index.php from the server. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)
