服务器中如何去掉index.php

这篇文章主要介绍了服务器中如何去掉index.php的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇服务器中如何去掉index.php文章都会有所收获,下面我们一起来看看吧。

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

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

服务器中如何去掉index.php  服务器 第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/配置文件

服务器中如何去掉index.php  服务器 第2张

windows中

服务器中如何去掉index.php  服务器 第3张

注意: 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配置结束
########################################################################
}

关于“服务器中如何去掉index.php”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“服务器中如何去掉index.php”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注蜗牛博客行业资讯频道。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论电报频道链接