繁体   English   中英

Nginx-使用最后一个URL段进行重写

[英]Nginx - Rewrite using last url segment

我的原始网址如下:

http://example.com/lab/file.php?id=4&idl=42

我想美化它,使它也可以通过如下所示的URL访问:

http://example.com/l/not/important/url/part/?id=4&idl=42

我尝试使用以下代码,但不起作用。

rewrite /l/.*/([^/]+)/?$ /lab/file.php$1 last;

怎么解决?

什么之后? 是查询字符串,不能使用rewrite指令rewrite 但是,默认情况下,无论如何rewrite都会附加原始查询字符串。

你可以重写开头任何URI /l/或创建一个位置/l/ ,例如:

rewrite ^/l/ /lab/file.php last;

要么:

location ^~ /l/ {
    rewrite ^ /lab/file.php last;
}

^~修饰符使此前缀位置优先于同一级别的正则表达式位置。 有关详细信息,请参见此文档

在这两种情况下, rewrite都会将原始查询字符串附加到重写的URI上。 有关详细信息,请参见此文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM