URL 重写是指将原始的 URL 转换为另一种格式的过程。在 Nginx 中,可以使用 rewrite 指令来实现 URL 重写。rewrite 指令允许您根据特定的规则将请求的 URL 修改为另一个 URL,从而实现重定向、URL 美化以及其他 URL 相关的操作。
下面是一些常见的 rewrite 功能使用场景和示例代码。
- 简单的重定向
如果您想将一个 URL 重定向到另一个 URL,可以使用 rewrite 指令。例如,将所有的 HTTP 请求都重定向到 HTTPS:
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
在上面的示例中,listen 指令用于监听 HTTP 的默认端口 80,server_name 指令用于指定服务器的域名。return 指令用于返回一个 301 永久重定向,将请求重定向到 HTTPS 协议的相同主机和 URI。
- URL 美化
URL 美化是指将复杂的 URL 转换为更加友好和易读的格式。例如,将动态生成的 URL 路径转换为静态的 URL 路径:
server {
listen 80;
server_name example.com;
location / {
rewri