【发布时间】:2017-09-12 20:10:58
【问题描述】:
我正在学习使用 nginx 重写 URL,想知道为什么下面的示例不起作用
我有以下网址
http://example.com/listings.php?city=Fayetteville
我有以下 URL 重新布线规则
rewrite ^/listings\.php\?city=(.*)$ http://google.com permanent;
当我访问 http://example.com/listings.php?city=Fayetteville 时,我应该将 URL 更改为 google.com,但没有任何反应。我在这里做错了什么?
【问题讨论】:
-
从
?开始的任何内容(查询字符串)都不是用于匹配rewrite和location指令中的正则表达式的规范化URI 的一部分。 -
您想对所有listing.php 执行此操作,还是仅在城市为费耶特维尔时执行此操作?正如@RichardSmith 提到的那样,请求 uri 没有得到参数
-
@TarunLalwani 我只是为了学习而玩它。但最后我希望example.com/listings.php?city=AnyCityName 变成example.com/AnyCityName 这可能吗?
标签: nginx