Mod rewrite Nginx重写规则类似于Apache';s

Mod rewrite Nginx重写规则类似于Apache';s,mod-rewrite,nginx,url-rewriting,Mod Rewrite,Nginx,Url Rewriting,在Apache中,可以使用重写规则使地址“/admin/categories/32/”指向“/admin/categories/” 类似于RewriteRule^/admin/categories/(.*)$/admin/categories[L] 如何使用nginx实现同样的效果?我试图用重写regex dest last达到目的语句放在位置/{…}块中,但无效 我在/admin/categories/上有一个单页应用程序,因此我需要在SPA中处理/categories/之后的位,而不是服务器

在Apache中,可以使用重写规则使地址“/admin/categories/32/”指向“/admin/categories/”

类似于
RewriteRule^/admin/categories/(.*)$/admin/categories[L]

如何使用nginx实现同样的效果?我试图用
重写regex dest last达到目的语句放在
位置/{…}
块中,但无效

我在/admin/categories/上有一个单页应用程序,因此我需要在SPA中处理/categories/之后的位,而不是服务器认为的有效路由


谢谢

假设您的SPA完全是JS,包含在
/admin/categories.HTML
的HTML页面中:

root "/some/location";

location /admin/categories/ {
    try_files /admin/categories.html;
}

位置块的参数与最长前缀匹配。

是因为
location/
不处理此URI,还是因为您得到了一个重写循环?服务器如何解析
/admin/categories
?它是索引文件吗?您可以使用
try_files
而不是
rewrite