我正在尝试redirect一个特定的URL,如:
http://www.domain.com/cadena-de-metas
我正在通过我的configuration文件在/ sites-available /
if ( $request_filename ~ cadena-de-metas/ ) { rewrite ^ https://some-other-url.com? permanent; }
这工作,但不幸的是它redirect以及这个url:
http://www.domain.com/uploads/descarga-cadena-de-metas.jpg
我怎样才能防止这个?
避免使用if语句,它们对于性能不是很好。 试试像这样:〜*表示不区分大小写的正则expression式匹配,正则expression式可以是文字。 如果它不起作用,让我知道,它只需要一个小小的调整 – 不知道你是否需要语音标记
server { server_name example.com www.example.com; location ~* "^/cadena-de-metas" { return 301 https://some-other-url.com; } }
如果您希望自动调整为http / https,您的回报可以交替使用
return 301 $scheme://some-other-url.com;
如果你想redirect到另一个位置在同一台服务器上,这将是这样的
return 301 $scheme://$host/subdirectory;
注意 :所有使用302redirect的testing,因为它们没有被caching,当你对如何设置感到满意时,改为301redirect。
你做不同的通用redirect从非www到www的,但你没有问,所以我不会发布。
除了redirect之外,您还可以执行proxy_pass,从另一个位置获取内容并将其显示在该URL上。