在nginx中,我正在使用以下参数重定向网址:
www.example.com/watch?v=12345678
- > www.example.com?vid=12345678
所以我写了相同的以下配置:
location /watch {
if ($args ~* v=(.*)) {
set $args vid=$1;
rewrite ^/watch?(.*)$ / redirect;
}
}
一切都按预期工作。但在这里我几乎没有疑问:
答案 0 :(得分:4)
我没有比这更好的了。
location /watch {
return 302 $scheme://$host?vid=$arg_v;
}
它避免使用if
和rewrite
,这总是一件好事。如果您需要在URI中检查v=
,请使用if
,而是测试$arg_v
是否为空。
然而,即使没有参数或者它是空的,它也会重定向。我想你应该从重定向的位置过滤掉这些情况。
从SEO的角度来看,我没有看到任何差异。不过,我会避免使用参数提供任何URI。我更喜欢像example.com/video/123456