Chr*_*tis 4 nginx redirect regular-expressions 301-redirect
我想从 www.mydomain.com 重定向到 nginx 中的 domain.com。我在网上搜索,找到了两种方法:
第一种方式
server {
listen 80;
server_name www.domain.com;
rewrite ^/(.*) http://domain.com/$1 permanent;
}
Run Code Online (Sandbox Code Playgroud)
第二种方式
server {
listen 80;
server_name www.domain.com;
return 301 $scheme://domain.com$request_uri;
}
Run Code Online (Sandbox Code Playgroud)
两种方式都有效。但是我应该使用哪一个,为什么?
第二种方法更好...
server {
listen 80;
server_name www.domain.com;
return 301 $scheme://domain.com$request_uri;
}
Run Code Online (Sandbox Code Playgroud)
为什么
让我直接引用来自官方 Nginx wiki 的陷阱和常见错误:
通过使用内置变量 $request_uri,我们可以有效地避免进行任何捕获或匹配,并且通过使用 return 指令,我们可以完全避免对正则表达式的评估。
我个人的想法...
默认情况下,正则表达式代价高昂并且会降低性能。
归档时间: |
|
查看次数: |
852 次 |
最近记录: |