在Nginx下有许多让带www域名跳转到不带www的根域名上或者让不带www跳转到www的域名上的方法
下面说一下我正在用的方法,希望对各位能有所帮助.
重定向非www域名到www上
单域名
server { server_name example.com; return 301 $scheme://www.example.com$request_uri; }
全部域名
server { server_name "~^(?!www\.).*" ; return 301 $scheme://www.$host$request_uri; }
重定向www域名到根域名上
单域名
server { server_name www.example.com; return 301 $scheme://example.com$request_uri; }
全部域名
server { server_name "~^www\.(.*)$" ; return 301 $scheme://\$request_uri ; }
我们创建单独的 Server{} 块是Nginx官方推荐的最佳方法来实现跳转.
虽然WordPress下也有插件能在PHP级别上做到跳转,但是出于性能考虑,总是让Nginx来做Nginx可以做到的事.