Firefox"无法连接"没有www?

时间:2014-05-13 12:54:05

标签: firefox browser nginx cross-browser

我不确定是将它放在Serverfault还是Stackoverflow上;它似乎不是服务器问题所以我虽然在这里是最好的。

我目前正在大学网站上工作,由于某些原因,除非您使用www(例如www.university.edu),否则Firefox拒绝加载该网站。每个其他浏览器都接受university.edu,只需重定向到www.university.edu,因为nginx正在设置。我的nginx配置:

server {
    listen 80;
    server_name university.edu www;
    rewritei    ^http://www.university.edu$request_uri? permanent;
}
server {
    listen 80;
    server_name  www.university.edu static.university.edu m.university.edu www.university.com;
    .
    .
    .
}

那么应该发生的是当请求进来并且是www.university.edu时,第二个块捕获它并且一切正常运行,但是如果请求进来并且是university.edu,则第一个块捕获它并重定向它到第二个街区。但由于某种原因,Firefox并没有这样做。

任何想法都可能导致这个问题?

更新1: rewritei没有被拼错。大学的nginx在编译之前已被更改,以使正则表达式不区分大小写,并被置于“rewritei”函数之下。在玩了这个网站之后,我发现如果你首先访问网站www.university.edu,然后尝试university.edu它会加载,但如果你清除缓存并尝试访问university.edu它不会加载到您访问www.university.edu。

1 个答案:

答案 0 :(得分:0)

你有一个错字; "重写"并尝试删除www。

server {
    listen 80;
    server_name university.edu;
    return 301 http://www.university.edu$request_uri;
}

另请查看重写时的陷阱 - http://wiki.nginx.org/Pitfalls#Taxing_Rewrites