Php Nginx中的URL重写

Php Nginx中的URL重写,php,nginx,url-rewriting,Php,Nginx,Url Rewriting,我对Nignx和LEMP堆栈还很陌生,并且很难编写干净的url。 我想重写: https://example.com/search/something&1 到 https://example.com/search.php?query=something&page=1 如何继续实现此目标?重写^/search/*&.*$/search.php?query=$1&page=$2 我想你是在反省。您想重写/search/something&1=>/search.php?query=something&

我对Nignx和LEMP堆栈还很陌生,并且很难编写干净的url。 我想重写: https://example.com/search/something&1 到 https://example.com/search.php?query=something&page=1 如何继续实现此目标?

重写^/search/*&.*$/search.php?query=$1&page=$2

我想你是在反省。您想重写/search/something&1=>/search.php?query=something&page=1


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

希望这能解决您的问题

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

rewrite /search/([A-Za-z]+)&([\d]+) /search.php?query=$1&page=$2;
[\d]+匹配一个或多个数字

rewrite /search/([A-Za-z]+)&([\d]+) /search.php?query=$1&page=$2;
这将只重定向遵循以下模式的$request\u uri

 /search/something&12
 /search/xxxyAAA&1212
 /search/XXyyZZ&12

并不会阻止您对css、js执行请求进行重写。

请检查您的帖子。您的目标和重定向url都是相同的,您希望这样做吗https://example.com/search/something&1 到https://example.com/search.php?query=something&page=1 或opposite@SahilGulati更新我的问题:对不起,我没听清你的问题,你想把这个给我吗https://example.com/search/something&1 到https://example.com/search.php?query=something&page=1It 工作正常,但无法加载css&js文件中的所有外部资源。@CodeWalker您需要一个单独的位置块,如location ~*\。?:css | js${},用于查找以.css或.js结尾的请求并正常路由它们,在重写之前这样做,你可以使用break;以确保以后不会处理任何规则。