使用 nginx 重定向(从 url 中删除子字符串)
Redirect with nginx (remove substring from url)
我想从旧 url:
做一个重定向
http://example.org/xxxxxxxxx.html
到新的 urls(删除“.html”)
http://example.org/xxxxxxxxx
我如何使用 nginx 做到这一点?
编辑:
xxxxxxxxx
可以不同,例如:
http://example.org/url-1.html
重定向到 http://example.org/url-1
http://example.org/another-url.html
重定向 to http://example.org/another-url
可能您需要重写语句
location /xxx.html {
rewrite ^/xxx(.*) http://example.org/xxxxx permanent;
}
详细解释请参考https://www.nginx.com/blog/creating-nginx-rewrite-rules/
另一种方法是 return 指令
server {
listen 80;
listen 443 ssl;
server_name www.old-name.com old-name.com;
return 301 $scheme://www.new-name.com;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name example.org www.example.org;
return 301 http://$server_name$request_uri;
}
location ~ ^(.*)\.html$ {
return 301 ;
}
我想从旧 url:
做一个重定向http://example.org/xxxxxxxxx.html
到新的 urls(删除“.html”)
http://example.org/xxxxxxxxx
我如何使用 nginx 做到这一点?
编辑:
xxxxxxxxx
可以不同,例如:
http://example.org/url-1.html
重定向到 http://example.org/url-1
http://example.org/another-url.html
重定向 to http://example.org/another-url
可能您需要重写语句
location /xxx.html {
rewrite ^/xxx(.*) http://example.org/xxxxx permanent;
}
详细解释请参考https://www.nginx.com/blog/creating-nginx-rewrite-rules/
另一种方法是 return 指令
server {
listen 80;
listen 443 ssl;
server_name www.old-name.com old-name.com;
return 301 $scheme://www.new-name.com;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name example.org www.example.org;
return 301 http://$server_name$request_uri;
}
location ~ ^(.*)\.html$ {
return 301 ;
}