我正在努力将 Apache 重写规则转换为 Nginx。
该规则位于内部WEBROOT/cdn/.htacces
,内容如下:
RewriteRule ^[0-9]{1,6}/(.*)$ ../$1 [PT]
它的目标是获取类似这样的 URL:
http://...com/cdn/123123/some/other/path.css
并加载位于的文件http://...com/some/other/path.css
。
我尝试过以下主题的不同变化:
location /cdn { rewrite "^/[0-9]{1,6}/(.*)$" ../$1; }
我最终得到了 404。
答案1
我不太确定,但我认为你的问题就在你的位置块的开头:
location /cdn
我认为如果你尝试这样的事情:
location ^/cdn/(.*)
您将获得预期的效果。
答案2
弄清楚了:
location ^~ /cdn { rewrite "^/cdn/[0-9]{1,6}/(.*)$" /$1 break; }