如何在XAMPP的httpd-vhosts.conf中实现PHP -S的-t public等效配置
环境信息
- IDE: VSCode
- 操作系统: Windows 11
- PHP环境: XAMPP
问题1
在httpd-vhosts.conf(或对应配置文件)中,PHP -S localhost:8888 -t public里的-t public对应的等效配置是什么?
当前httpd-vhosts.conf配置如下:
<VirtualHost *:80> DocumentRoot "C:/xampp/htdocs/vscode/main_site/public" ServerName mainsite </VirtualHost>
文件结构
SERVER_DOC_ROOT/Core SERVER_DOC_ROOT/Controllers SERVER_DOC_ROOT/Public SERVER_DOC_ROOT/views SERVER_DOC_ROOT/config.php SERVER_DOC_ROOT/routes.php SERVER_DOC_ROOT/bootstrap.php
需求背景
我正在跟随PHP教程学习,教程中使用CLI命令PHP -S localhost:8888 -t public启动服务器(public是项目根目录的子文件夹),现在希望直接通过启动XAMPP来运行项目。
遇到的问题
页面加载不完整,显示自定义404页面,无法正常路由URL,也无法加载位于SERVER_DOC_ROOT/views下的index.view.php文件。教程讲师称这种目录结构是为了保护public文件夹外的内容(安全考量)。
相关代码文件
- public目录下的index.php
- Core目录下的Router.php
- 根目录下的routes.php、bootstrap.php
- Core目录下的functions.php
- .htaccess配置
更新记录
- 在
httpd-vhosts.conf中添加FallbackResource /index.php后,访问http://localhost仍显示404,但点击页面内链接可正常加载。 - 在routes.php中添加
$router->get('/', 'index.php');后,初始404问题解决。
内容的提问来源于stack exchange,提问作者GreenhornCJ
相关产品推荐
相关产品推荐

