使用 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 ;
}