Heim  >  Artikel  >  Backend-Entwicklung  >  So entfernen Sie index.php vom Server

So entfernen Sie index.php vom Server

藏色散人
藏色散人Original
2022-12-19 10:24:045916Durchsuche

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

So entfernen Sie index.php vom 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

So entfernen Sie index.php vom 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;
                }   
        }

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

So entfernen Sie index.php vom Server

windows中

So entfernen Sie index.php vom Server

注意: 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视频教程

Das obige ist der detaillierte Inhalt vonSo entfernen Sie index.php vom Server. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn