![Apache 中高效的 301 重定向(www 到非 www 以及反之亦然)?](https://linux22.com/image/804326/Apache%20%E4%B8%AD%E9%AB%98%E6%95%88%E7%9A%84%20301%20%E9%87%8D%E5%AE%9A%E5%90%91%EF%BC%88www%20%E5%88%B0%E9%9D%9E%20www%20%E4%BB%A5%E5%8F%8A%E5%8F%8D%E4%B9%8B%E4%BA%A6%E7%84%B6%EF%BC%89%EF%BC%9F.png)
我偶然看到了一篇文章,标题是“高效的 301 重定向“”。
例如,如果您尝试将您的网站从 www 重定向到非 www 域,则文章建议与此 .htaccess/httpd.conf 规则进行比较:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domainname\.com$ [NC]
RewriteRule ^(.*)$ http://domainname.com/$1 [R=301,L]
</IfModule>
这将是一个更有效的 301 重定向(尽管只是稍微):
<IfModule mod_alias.c>
Redirect permanent / http://domainname.com/
</IfModule>
问题:后一条规则真的有效吗(哪怕是稍微有效)?
答案1
回答你的问题:是的,文章也说明了原因:
...通过使用 Apache 的 Redirect 指令和 Nginx 的 return 指令,我们可以有效地避免进行任何捕获或匹配,从而我们可以完全避免对正则表达式的评估。
它只是跳过一些评估步骤。
我想看看针对此解决方案/调整的性能测试