You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx动态Location块Alias配置遇404错误求助

解决Nginx正则location+alias的404问题

问题根源分析

你的正则规则存在三个核心问题,导致无法匹配请求并正确映射文件:

  1. 正则未匹配URL前缀:请求URL是/en/products/...,但你的正则以^/products/开头,漏掉了前面的语言路径(如/en),规则根本不会被触发。
  2. 匹配符范围过窄:正则中的(.?)仅匹配单个任意字符,无法覆盖seismic-isolator-mold-release-agent这类长产品路径。
  3. alias路径映射错误:正则location下,alias需要与匹配的URL结构对应,你当前的alias指向根目录static_cdn/,但实际文件存放在static_cdn/js/modules/下,路径不匹配。

修正后的规则

直接使用以下正则location规则,可覆盖所有语言前缀+产品路径的请求:

location ~ ^/[^/]+/products/[^/]+/js/modules/ {
    alias /home/ytsejam/public_html/luftchem/luftchem/static_cdn/js/modules/;
    expires 365d;
    access_log off;
    autoindex on;
}

规则解释

  • ^/[^/]+:匹配任意语言前缀(如/en、/tr等),[^/]+表示匹配除/外的所有字符,确保覆盖多语言场景。
  • /products/[^/]+/js/modules/:匹配产品名称路径段(如seismic-isolator-mold-release-agent),确保URL结构完全匹配。
  • alias路径直接指向存放目标JS文件的目录,Nginx会自动将请求中匹配的URL前缀替换为该路径,最终找到sliderdimensions.js文件。

验证步骤

  1. 执行nginx -t检查配置文件语法是否正确。
  2. 重启Nginx服务(如systemctl restart nginx)。
  3. 用curl -I https://abctasarim.com/en/products/seismic-isolator-mold-release-agent/js/modules/sliderdimensions.js测试,返回200状态码即为正常。

内容的提问来源于stack exchange,提问作者ytsejam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 15:05:22