如何让ThinkPHP5项目不再显示index.php?

2026-04-02 17:181阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计430个文字,预计阅读时间需要2分钟。

如何让ThinkPHP5项目不再显示index.php?

去除tp5中index.php的方法:

1.使用`\Think\Url::root('/');`

2.修改`.htaccess`配置,代码如`RewriteCond %{REQUEST_FILENAME} ...`

3.修改nginx配置即可。环境:Win10 + PHP 7.1 + Nginx 1.2 + ThinkPHP5 + Dell G3电脑。

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

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

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

  

还可以写成:

\think\Url::root('/');

其它配置:

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

如何让ThinkPHP5项目不再显示index.php?

<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教程》

本文共计430个文字,预计阅读时间需要2分钟。

如何让ThinkPHP5项目不再显示index.php?

去除tp5中index.php的方法:

1.使用`\Think\Url::root('/');`

2.修改`.htaccess`配置,代码如`RewriteCond %{REQUEST_FILENAME} ...`

3.修改nginx配置即可。环境:Win10 + PHP 7.1 + Nginx 1.2 + ThinkPHP5 + Dell G3电脑。

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

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

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

  

还可以写成:

\think\Url::root('/');

其它配置:

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

如何让ThinkPHP5项目不再显示index.php?

<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教程》