我不确定是将它放在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。
答案 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