如何解决在 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。
我有以下 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。