Nginx 在动态子文件夹中部署静态文件
Nginx deploy static file in dynamic sub folder
我的网站根目录(/var/www/static.website.ext/public_html)组织如下:
images
|___ 61
|___ 6105495099f49473.png
|___5f
|___ 5fb969a00a4832d2.png
schema
|___ satic_file.png
如您所见,文件夹“61”和“5f”是根据图像名称动态生成的(加载静态文件时)。 (前两个字符)
我的目标如下:
https://static.website.ext/images/6105495099f49473.png = display 6105495099f49473.png image (located in /images/61/61...)
我可以在 Nginx 中做什么?
在 Apache 中,只需使用 mod_rewrite,或者使用调度程序将 index.php 文件挂载到 /images/ 文件夹中。
但性能不会(我猜)像直接从 Nginx 分发
使用正则表达式 location
捕获构建文件路径所需的 URI 部分。有关详细信息,请参阅 this document。
例如:
root /var/www/static.website.ext/public_html;
location ~ ^(/images)(/..)(.*)$ {
try_files =404;
}
我的网站根目录(/var/www/static.website.ext/public_html)组织如下:
images
|___ 61
|___ 6105495099f49473.png
|___5f
|___ 5fb969a00a4832d2.png
schema
|___ satic_file.png
如您所见,文件夹“61”和“5f”是根据图像名称动态生成的(加载静态文件时)。 (前两个字符)
我的目标如下:
https://static.website.ext/images/6105495099f49473.png = display 6105495099f49473.png image (located in /images/61/61...)
我可以在 Nginx 中做什么? 在 Apache 中,只需使用 mod_rewrite,或者使用调度程序将 index.php 文件挂载到 /images/ 文件夹中。
但性能不会(我猜)像直接从 Nginx 分发
使用正则表达式 location
捕获构建文件路径所需的 URI 部分。有关详细信息,请参阅 this document。
例如:
root /var/www/static.website.ext/public_html;
location ~ ^(/images)(/..)(.*)$ {
try_files =404;
}