thinkphp 设置运行目录为/public后 404错误

简介: thinkphp 设置运行目录为/public后 404错误

thinkphp 设置运行目录为/public后 404错误
当你在 ThinkPHP 中设置了运行目录为 /public 后,可能会遇到 404 错误。这通常是因为 Web 服务器的配置问题导致的。以下是解决这个问题的几个步骤:

  1. 修改 .htaccess 文件
    如果你使用的是 Apache 服务器,需要确保 .htaccess 文件正确配置。在项目根目录下创建或修改 .htaccess 文件,内容如下:


RewriteEngine On
RewriteBase /public/

# 如果请求资源不存在,则交给 index.php 处理
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L]

  1. 修改 Nginx 配置文件
    如果你使用的是 Nginx 服务器,需要修改 Nginx 的配置文件。在 nginx.conf 或者站点配置文件中添加或修改以下内容:

server {
listen 80;
server_name yourdomain.com;

root /path/to/your/project/public;  # 指定项目的 public 目录

location / {
    try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;  # 根据实际 PHP 版本和配置修改
}

}

  1. 修改 ThinkPHP 配置
    确保 ThinkPHP 的配置文件中指定了正确的运行目录。在 config.php 文件中添加或修改以下内容:
    [kod.xiujiawang.com)
    [kod.acpline.com)
    [kod.aislong.com)
    [kod.ao54.com)
    [kod.buy47.com)
    [kod.dimsc.com)
    [kod.hnczf.com)
    [kod.lcgmyy.com)

return [
// 运行目录
'app_dir' => 'public',

// 应用基础路径
'base_path' => __DIR__ . '/../',

// 应用入口文件
'entry_file' => 'index.php',

];

  1. 重启 Web 服务器
    Apache:重启 Apache 服务。

sh

sudo service apache2 restart
Nginx:重启 Nginx 服务。

sh

sudo service nginx restart

  1. 测试访问
    在浏览器中访问你的网站,确保所有配置生效并且没有 404 错误。
    总结
    通过以上步骤,你可以解决 ThinkPHP 设置运行目录为 /public 后出现的 404 错误。确保 Web 服务器的配置正确,并且 ThinkPHP 的配置文件也进行了相应的修改。这样可以确保应用能够正常运行。
相关文章
|
存储 JSON 安全
ThinkPHP 文件上传 fileSystem 扩展的使用
本文介绍了在ThinkPHP框架中使用filesystem扩展进行文件上传的方法。包括安装filesystem扩展、了解配置文件、上传文件的验证规则以及文件上传的示例代码,旨在帮助开发者实现文件的安全上传和存储。
ThinkPHP 文件上传 fileSystem 扩展的使用
|
12月前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
2551 7
|
12月前
|
JSON 小程序 应用服务中间件
微信的openid是用户的唯一id吗?
【10月更文挑战第4天】微信的openid是用户的唯一id吗?
2255 5
ThinkPHP 多应用配置,及不同域名访问不同应用的配置【详解】
本文详解了在ThinkPHP框架中配置多应用的方法,包括安装扩展、删除默认controller文件夹、创建多应用、修改配置文件以启用多应用、测试访问以及如何配置不同域名访问不同应用的步骤。
ThinkPHP 多应用配置,及不同域名访问不同应用的配置【详解】
|
10月前
|
缓存 PHP
【ThinkPHP框架教程·Part-03】开启调试与配置文件
本章节介绍如何开启系统的调试功能及理解框架配置信息。开发阶段建议开启调试模式,通过修改 `.env` 文件中的 `APP_DEBUG=true` 实现。调试模式能提高排错能力,但会影响执行效率,生产环境应关闭。调试开启后,页面右下角会出现 Trace 调试图标。此外,还介绍了两种配置文件形式(`.env` 和 `config`),以及它们的优先级和获取方式。本地测试时 `.env` 优先于 `config`,部署后则忽略 `.env`,使用 `config` 配置。
【ThinkPHP框架教程·Part-03】开启调试与配置文件
|
12月前
|
域名解析 网络协议 安全
DNS查询工具简介
DNS查询工具简介
1524 4
|
Linux 网络安全
Linux(16)ssh_exchange_identification: read: Connection reset by peer问题
Linux(16)ssh_exchange_identification: read: Connection reset by peer问题
220 0
|
前端开发 PHP
ThinkPHP6,视图的安装及模板渲染和变量赋值 view::fetch() ,view::assgin() ,助手函数
本文介绍了ThinkPHP6中视图的安装和使用,包括通过`composer`安装`topthink/think-view`,使用`view::fetch()`进行模板渲染和变量赋值,以及使用`view::assign()`进行全局模板变量赋值。还提到了助手函数作为`view::fetch()`和`view::assign()`的封装组合,但效率较低。
ThinkPHP6,视图的安装及模板渲染和变量赋值 view::fetch() ,view::assgin() ,助手函数
|
前端开发 IDE 数据库连接
ThinkPHP6 模型层的模型属性,表映射关系,以及如何在控制层中使用模型层和模型层中的简单CRUD
本文详细介绍了ThinkPHP6中模型层的使用,包括模型属性设置、表映射关系、以及如何在控制层中使用模型层进行CRUD操作。
ThinkPHP6 模型层的模型属性,表映射关系,以及如何在控制层中使用模型层和模型层中的简单CRUD
|
存储 JSON API
Transformers 4.37 中文文档(十一)(1)
Transformers 4.37 中文文档(十一)
279 1