我在我的网站中使用以下代码执行从非 www 域到 www 域的永久 301 重定向。我的 Web 服务器是 nginx。
rewrite ^/([^&]*)&(.*)$ http://www.example.com/$1?$2 permanent;
这只适用于用户输入http://example.com
被重定向到的情况http://www.example.com
但是当用户输入例如http://example.com/portal.php
时它不会重定向到http://www.example.com/portal.php
我如何确保我的所有页面都重定向到 www 域?
答案1
这通常通过不同的服务器块完成,不需要正则表达式。
server {
listen 80;
server_name example.com;
return 301 http://www.example.com$request_uri;
}
server {
listen 80;
server_name www.example.com;
# Location blocks etc
}
如果您想重定向 https,可以添加额外的服务器块。