我对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. URL重写Nginx
- 2. Nginx的URL重写
- 3. Nginx重写root url
- 4. 用NGINX重写URL
- 5. Nginx URL重写更改URL
- 6. Nginx的重写URL ARGS
- 7. 重写url中的Nginx proxy_pass?
- 8. nginx WordPress的URL重写
- 9. 重写nginx pushState-URL的
- 10. nginx的URL重写规则
- 11. 重写URL的Glype(nginx)
- 12. Nginx的URL重写规则
- 13. Nginx的 - URL重写规则
- 14. nginx的重写URL子
- 15. nginx不重写URL的opencart
- 16. wordpress,nginx和重写url
- 17. 在nginX中重写URL
- 18. Nginx重写URL问题
- 19. nginx弹簧mvc url重写
- 20. 重写NGINX URL位置?
- 21. 如何写nginx的主URL重写
- 22. Nginx的重写URL未能重定向
- 23. nginx的URL重写(无重定向)
- 24. nginx proxy_pass与URL重写 - 保存URL
- 25. 重写url,但显示原始URL + nginx
- 26. nginx用URL重写部分url? mark
- 27. Nginx,ModX和友好URL(URL重写)
- 28. 如何在nginx中写入url重写?
- 29. 简单的nginx重写干净的URL
- 30. Nginx的不重写某些URL的
请检查你的帖子。你的目标和重定向url都是一样的 –
你想把这个'https:// example.com/search/something&1'改为'https://example.com/search.php?query = something&page = 1'或者相反 –
@SahilGulati更新了我的问题:) – CodeWalker