How to remove index.php from the server

藏色散人
Release: 2023-03-17 16:32:02
Original
5920 people have browsed it

服务器中去掉index.php的方法:1、打开php.ini文件,更改内容为“cgi.fix_pathinfo=1”;2、修改对应虚拟主机的配置文件;3、将“include enable-php.conf;”替换为“include enable-php-pathinfo.conf;”;4、去掉index.php,重启lnmp即可。

How to remove index.php from the server

本教程操作环境: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

How to remove index.php from the server

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;
                }   
        }
Copy after login

linux中 /usr/local/nginx/conf/配置文件

How to remove index.php from the server

windows中

How to remove index.php from the server

注意: root配置要定位到yyyy的位置,不一定是localhost

 "D:/xxxx/localhost/yyyy";
Copy after login

3.重启lnmp即可。。

lnmp restart
Copy after login

4.设置url_mode =2

// -----------URL伪静态后缀设置----------
'URL_MODEL'=>'2',  // 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE  模式); 3 (兼容模式)  默认为PATHINFO 模式
Copy after login

注:有些文章提到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;
    }
Copy after login

还有人是这么配置的:

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配置结束
########################################################################
}
Copy after login

推荐学习:《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!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template