首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Nginx重写URL

用Nginx重写URL
EN

Stack Overflow用户
提问于 2017-04-09 16:27:49
回答 2查看 73关注 0票数 0

我对Nignx和LEMP堆栈非常陌生,并且很难编写干净的URL。

我想重写:

https://example.com/search/something&1 to

https://example.com/search.php?query=something&page=1

我怎样才能做到这一点呢?

EN

回答 2

Stack Overflow用户

发布于 2017-04-09 16:40:26

rewrite ^/search/(.*)&(.*)$ /search.php?query=$1&page=$2

我觉得你在倒着想。你想重写/search/something&1 => /search.php?query=something&page=1

在您的代码中,您将生成类似于/search/something&1的链接,然后nginx将它们重写为具有url查询参数的常规链接,供PHP理解。

票数 1
EN

Stack Overflow用户

发布于 2017-04-09 17:17:31

希望这能解决你。

([A-Za-z]+)匹配所有小写或大写字母,一个或多个字母。

([\d]+)匹配一个或多个数字。

代码语言:javascript
复制
rewrite /search/([A-Za-z]+)&([\d]+) /search.php?query=$1&page=$2;

这只会重定向那些遵循以下模式的$request_uri

代码语言:javascript
复制
 /search/something&12
 /search/xxxyAAA&1212
 /search/XXyyZZ&12

并且不阻止css,js的执行请求重写。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43309122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档