tp5怎么去除index.php

2021-11-18 11:09:45 IT技术网 互联网
浏览

tp5去除index.php的方法:1、使用“thinkUrl::root('/');”;2、修改htaccess配置,代码如“ RewriteCond %{REQUEST_FILENAME}...”;3、修改nginx配置即可。

环境:win10 + php7.1 + nginx1.2 + ThinkPHP5 + Dell G3电脑

tp5怎么去除index.php?

TP5 去除url中 index.php 方法

在使用 ThinkPHP5 过程中,用 url 函数生成链接地址时,地址中产生了 index.php

  例:我们要生成一个 /home/news/list.html 的地址,结果生成的地址是 /index.php/home/news/list.html

在手册中 URL 生成篇有介绍:

  

还可以写成:

thinkUrl::root('/');

其它配置:

  .htaccess配置 (nginx 可忽略此文件)

<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]</IfModule>

  nginx配置

server{
    listen 80;#监听端口
    server_name www.demo.com;#域名
    index index.html index.htm;
    root D:/wnmp/demo/public;
    location / {
        index  index.html index.htm index.php;
        #autoindex  on;
             
        if (!-e $request_filename) {
            rewrite ^(.*)$ /index.php?s=/$1 last;
        }
    } 
    location ~ .*.(gif|jpg|jpeg|png|bmp|swf|ico)$
    {
        expires 30d;
        # access_log off;
    }
    location ~ .*.(js|css)?$
    {
        expires       max;
        log_not_found off;
        access_log    off;
    }
    error_page   500 502 503 504  /50x.html;
    location ~ .php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        #下面两句是给fastcgi权限,可以支持 ?s=/module/controller/action的url访问模式
        fastcgi_split_path_info  ^((?U).+.php)(/?.+)$;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        #下面两句才能真正支持 index.php/index/index/index的pathinfo模式
        fastcgi_param  PATH_INFO  $fastcgi_path_info;
        fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
        include        fastcgi_params;
    }
}

推荐学习:《thinkphp教程》

以上就是tp5怎么去除index.php的详细内容,更多请关注dnjidi.com其它相关文章!