我对Nignx和LEMP堆栈非常陌生,并且努力编写干净的URL。
我想重写:
https://example.com/search/something&1
到
https://example.com/search.php?query=something&page=1
我如何着手实现这一目标?Nginx的URL重写
回答
rewrite ^/search/(.*)&(.*)$ /search.php?query=$1&page=$2
我想你向后想着它。您要重写/search/something&1
=>/search.php?query=something&page=1
在你的代码会产生看起来像/search/something&1
,然后nginx的将其改写成与URL查询参数,PHP能够理解普通链接的链接。
它可以正常工作,但是我的所有外部资源如css&js文件无法加载。 – CodeWalker
@CodeWalker你需要一个单独的位置块,像这个位置〜* \。(?: css | js)$ {},它查找以.css或.js结尾的请求并正常发送它们,在重写之前执行此操作,你可以使用break;以确保没有更晚的规则得到处理。 –
希望这会帮助你。
([A-Za-z]+)
匹配所有小写或大写字母,一个或多个。
([\d]+)
匹配一位或一位以上的数字。
rewrite /search/([A-Za-z]+)&([\d]+) /search.php?query=$1&page=$2;
这将重定向只有$ REQUEST_URI这遵循这些模式,如
/search/something&12
/search/xxxyAAA&1212
/search/XXyyZZ&12
而且并不妨碍你CSS,JS执行请求重写。
- 1. Nginx的URL重写
- 2. 用NGINX重写URL
- 3. Nginx URL重写更改URL
- 4. Nginx的URL重写规则
- 5. 重写URL的Glype(nginx)
- 6. 重写url中的Nginx proxy_pass?
- 7. Nginx的重写URL ARGS
- 8. 重写nginx pushState-URL的
- 9. Nginx重写URL问题
- 10. 重写NGINX URL位置?
- 11. wordpress,nginx和重写url
- 12. nginx弹簧mvc url重写
- 13. 在nginX中重写URL
- 14. nginx的URL重写(无重定向)
- 15. nginx proxy_pass与URL重写 - 保存URL
- 16. nginx用URL重写部分url? mark
- 17. 重写url,但显示原始URL + nginx
- 18. 如何在nginx中写入url重写?
- 19. Nginx的不重写某些URL的
- 20. NGINX动态URL的重写规则
- 21. CGT文件和Nginx的URL重写
- 22. nginx - 重写php文件的url
- 23. nginx的设置URL重写规则
- 24. 重写url段以获取参数nginx
- 25. CodeIgniter URL重写Nginx服务器
- 26. nginx重写无需更改url
- 27. nginx重写url问题需要帮助
- 28. Nginx,Wordpress和URL重写问题
- 29. 在nginx中重写动态URL
- 30. CakePHP 3 NGINX URL重写问题
请检查你的帖子。你的目标和重定向url都是一样的 –
你想把这个'https:// example.com/search/something&1'改为'https://example.com/search.php?query = something&page = 1'或者相反 –
@SahilGulati更新了我的问题:) – CodeWalker