如何解决在 LiteSpeed 服务器上找不到 PHP 页面的问题

How to resolve PHP page not found on LiteSpeed server

我有以下 PHP 个文件的布局

├── classes/
├── migrations/
├── public/
│   ├── images/
│   ├── scripts/
│   ├── styles/
│   └── index.php
├── sample/
└── templates/

我不确定如何将它放在我的服务器上,所以我将 public 中的文件放入我的 public_html 文件夹(这是我的 cPanel 已有的文件夹)。

另外,我把其他目录和public_html放在同一层级,以保持项目的正常结构。

因此,我得到了这个:

├── (some cPanel directory and files)
├── classes/
├── migrations/
├── public_html/
│   ├── images/
│   ├── scripts/
│   ├── styles/
│   └── index.php
├── sample/
├── templates/
└── (other cPanel directory and files)

现在,所有其他页面 returns 一个 HTTP 状态代码 404,除了索引页面。

我做错了什么?

作为参考,我正在尝试部署的项目可在 https://github.com/srv-twry/Quizzer 获得。

在您的源代码中没有 .htaccess,听起来好像缺少重定向。

您需要通过前端控制器路由适当的 URL - index.php

对于 Apache 风格的服务器,您可以使用 modrewrite 和一个 .htaccess 文件。

首先,使用以下规则创建一个 .htaccess - 您可能需要根据您的个人需求进行调整;

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ index.php [NC,L]

代码复制自 Webmasters Stackexchange