下面是一个示例,展示了如何使用OpenResty的rewrite阶段实现URL重写:
server {
listen 80;
server_name example.com;
location / {
rewrite ^/product/(\d+)$ /product?id=$1 last;
}
location /product {
# 处理/product请求的逻辑
proxy_pass http://backend_server;
# 其他配置...
}
}
在这个示例中,当用户访问http://example.com/product/123时,会经过rewrite阶段进行重写操作。正则表达式^/product/(\d+)$将匹配到的数字作为参数,转换为/product?id=123形式的URL,并继续后续处理。
请注意,在上述代码中,我们通过last关键字告诉OpenResty引擎完成当前rewrite规则后继续执行其他location块中的逻辑。如果希望停止处理并返回结果,则可以使用break关键字。
这只是一个简单的示例,你可以根据具体需求和场景定制更复杂的rewrite规则。通过合理配置rewrite阶段,可以实现灵活、高效地对URL进行重写和美化。
内容由零声教学AI助手提供,问题来源于学员提问




