nginx rewrite 示例
时间: 2023-10-09 11:11:06 浏览: 138
好的,以下是一个nginx的rewrite示例:
假设我们有一个旧的页面地址是:http://www.example.com/oldpage.html
我们希望将其重定向到一个新的页面地址:http://www.example.com/newpage.html
我们可以使用以下nginx配置代码来实现重定向:
```
server {
listen 80;
server_name www.example.com;
rewrite ^/oldpage\.html$ http://www.example.com/newpage.html permanent;
}
```
这个配置代码中,我们将匹配旧的页面地址,并将其重定向到新的页面地址。使用permanent指令,将告诉浏览器使用301永久重定向。
相关问题
nginx rewrite示例
当然,我可以为您提供一些nginx rewrite的示例。以下是一些常见的用法:
1. 重定向URL:
```nginx
server {
...
location /old-url {
rewrite ^/old-url$ http://example.com/new-url permanent;
}
...
}
```
这个示例将匹配以`/old-url`开头的URL,并将其重定向到`http://example.com/new-url`。
2. 隐藏文件扩展名:
```nginx
server {
...
location / {
rewrite ^/file/(.*)\.html$ /file/$1 last;
}
...
}
```
这个示例将从URL中删除`.html`扩展名,例如将`http://example.com/file/page.html`重写为`http://example.com/file/page`。
3. URL重写到参数:
```nginx
server {
...
location /product {
rewrite ^/product/([0-9]+)$ /product?id=$1 last;
}
...
}
```
这个示例将将`http://example.com/product/123`重写为`http://example.com/product?id=123`。
这些只是一些nginx rewrite的示例,您可以根据自己的需求进行进一步的定制。请注意,在使用rewrite规则时,要确保在正确的位置块中使用它们,并且要小心处理重定向循环的问题。
nginx.conf rewrite 示例
好的,以下是一个简单的 nginx.conf 中的 rewrite 示例:
```
server {
listen 80;
server_name example.com;
# 重定向 www 到非 www
if ($host = 'www.example.com') {
rewrite ^/(.*)$ http://example.com/$1 permanent;
}
# 重定向 http 到 https
if ($scheme != 'https') {
rewrite ^/(.*)$ https://example.com/$1 permanent;
}
# 其他配置
# ...
}
```
这个配置中包含了两个 rewrite 规则:
1. 将所有的 www.example.com 重定向到 example.com;
2. 将所有的 http 请求重定向到 https。
这些规则可以根据需求进行修改或扩展。需要注意的是,使用 rewrite 规则时需要谨慎处理,以免对站点性能产生不良影响。
阅读全文