如何在 PHP 中返回静态文件?

dan*_*jar 5 php server-response assets httprequest static-files

我使用一个.htaccess文件将所有请求重定向到同一个index.php. 从那里,我根据传入请求的 URL 决定要做什么。

现在,我将请求 URL映射到相对于source文件夹的目录结构,以便example.com/user/create映射到source/user/create/index.php. 位于那里的文件可以根据需要处理请求,并生成 HTML 输出。

但这不适用于静态资产,浏览器可能会请求。所以我的想法是找出请求 URL 是否以文件扩展名结尾并将其映射到相对于assets文件夹的目录结构,以便example.com/css/default.css映射到assets/css/default.css. 但我不知道如何使用静态文件而不是来自 PHP 的 HTML 代码进行响应。

通常,这可能会使用附加.htaccess规则来完成,但我想在代码中动态更改资产文件夹。

如何将服务器硬盘上给出的静态文件发送到 PHP 中的浏览器客户端?

Gui*_*res 2

关于 htaccess

#Expections
RewriteCond %{REQUEST_URI} ^/assets.*$
RewriteRule ^(.*)$ - [L,NC]

#You redirect to index
...
Run Code Online (Sandbox Code Playgroud)

在文件路径的开头放置一个 /

/assets/path/to/file
Run Code Online (Sandbox Code Playgroud)