TP6访问路径index.php怎么去掉

4 篇文章 0 订阅
文章介绍了如何在Apache和Nginx服务器环境下实现伪静态,即隐藏index.php。对于Apache,需修改httpd.conf启用rewrite模块,并提供正确的.htaccess配置。对于Nginx,可以通过创建nginx.htaccess文件并设置合适的rewrite规则来达到相同效果。
摘要由CSDN通过智能技术生成

伪静态就是在访问url时隐藏index.php

例:

https://domains.com/index.php/admins/login/login

变成:

https://domains.com/admins/login/login

===》使用Apache时  ============================

一、修改Apache配置文件

首先修改【httpd.conf】配置文件;然后去掉【#】,使rewrite模块生效,并将None改为All。

        1、LoadModule rewrite_module modules/mod_rewrite.so 去掉前面#,使rewrite 模块生效,没有这一行就自己另起一行添加上去

        2、将httpd.conf中所有AllowOverride None 将None改为 All

二、官网给的解决方案: 解决重写URL,省去index.php问题

         tp6官网文档public目录中给的 .htaccess 文件内容如下

<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>

正确的写法应该如下,官网给的最后一行配置错误

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

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]  #这才是对的,改成这句保存即可
</IfModule>

另一写法

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

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]  #直接在index.php后面加一个 ?
</IfModule>

把 public 目录 .htaccess  文件中的 index.php后面加个问号就可以了 ,
index.php?  就这样

===》使用Nginx时  ============================

项目根目录(public)下新建nginx.htaccess文件

location /  {
  if  (!-e $request_filename){
    rewrite ^(.*)$ /index.php?s=$1 last;  break;
  }
}

或者使用完整一点的,推荐的写法

location ~* (runtime|application)/{
	return 403;
}
location / {
	if (!-e $request_filename){
		rewrite  ^(.*)$  /index.php?s=$1  last;   break;
	}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
PHPStudy是一个集成环境,它方便开发者快速搭建和管理PHP应用,包括ThinkPHP 6(TP6)这样的PHP框架。要在PHPStudy中运行ThinkPHP 6项目,你可以按照以下步骤操作: 1. **安装 PHPStudy**:首先确保你已经下载并安装了最新版本的PHPStudy。如果还没有,可以从官网下载并安装。 2. **创建新站点**:打开PHPStudy,点击"网站管理器",然后点击右上角的"+"号,添加一个新的站点。选择合适的根目录,比如你的项目文件夹。 3. **配置Web服务器**:在新建站点的配置页面,选择Apache作为Web服务器,并设置好域名或IP地址、端口号。确认路径指向ThinkPHP 6项目的public文件夹。 4. **安装 ThinkPHP 6**:如果你的项目中没有自带的ThinkPHP 6,可以在根目录下手动下载ThinkPHP 6源码包,解压后将`thinkphp`文件夹复制到public子目录下。 5. **修改index.php**:在`public/index.php`文件中,检查是否包含了ThinkPHP的入口文件和路径定义。例如: ``` // 加载ThinkPHP入口文件 define('APP_PATH', __DIR__ . '/../thinkphp/'); require_once APP_PATH . 'start.php'; ``` 6. **启动服务**:点击“开始”按钮,PHPStudy会自动加载并启动服务器,访问你设定的URL就可以看到ThinkPHP 6的默认欢迎界面。 7. **配置数据库连接**:根据项目需求,在`config/database.php`中配置数据库连接信息。 8. **运行项目**:现在你可以开始编写ThinkPHP 6代码并在浏览器中访问相应路由测试应用程序功能。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值