nginx 重定向重写不起作用,www 到非 www

nginx 重定向重写不起作用,www 到非 www

将 www 重写为非 www 不起作用。

URLdomain.com有效,但www.domain.com出现以下错误,"Problem loading page - Mozilla Firefox - Server not found".我已清除 FF 缓存等。IE 说,Internet Explorer 无法显示该网页。

我尝试了以下配置和其他教程中的所有其他重写示例,包括 nginx 文档。我没有重新启动或重新加载 nginx,而是重新启动了系统(没有机会)。我的设置是 Debian Lenny、nginx 依赖项和 apt-get install nginx 的基本安装;就是这样。非常简单的测试服务器。我在 sites-available 中创建了一个 domain.com 文件,并创建了一个指向 sites-enabled 的符号链接。这是我的 domain.com 配置文件(按照最佳实践完成,并遵循了 nginx 的陷阱文档部分):

server {
  server_name www.domain.com;
  rewrite ^ $scheme://domain.com$request_uri permanent;
}

server {
  server_name domain.com;
  location / {
  root /srv/www/sites/domain.com;
        }
        }

我这里漏掉了什么?我也尝试了 nginx-0.8.54;编译了最新的稳定版本。我在两台不同的物理服务器上尝试过;在 vmware VM 上尝试过;并尝试从远程计算机访问。根据每个人的教程进行重写似乎有效,但对我来说却不行。我把 Apache 服务器放在一起没问题,但我一直在 nginx 上撞来撞去。

另外,我做了本地测试,并编辑了 C:\WINDOWS\system32\drivers\etc\hosts 以指向 domain.com 和 www.domain.com;仍然不起作用。

有人有什么建议吗?或者这是一个大秘密?比如一些秘密的重写模块启用程序?

答案1

您的 etc\hosts 中显示 4 wwww。将其更改为 3 www 即可。听起来您可能需要休息一下。:)

答案2

www 是一条 cname 记录,您创建了吗?

如果您在本地运行,只需将 www 记录添加到您的 hosts 文件中,然后您应该能够测试重定向是否正常工作。实际上,我认为 windows hosts 文件不允许这种类型的记录。您可能需要设置 DNS 服务器。

相关内容