tp5去除index.php的方法:1、使用“\think\Url::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
立即学习“PHP免费学习笔记(深入)”;
例:我们要生成一个 /home/news/list.html 的地址,结果生成的地址是 /index.php/home/news/list.html
在手册中 URL 生成篇有介绍:

还可以写成:
\think\Url::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的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号