当您在浏览器中输入“dev1.example.com.”或使用 HTTP 客户端请求主机时,我希望它重定向到“dev1.example.com”。我尝试使用以下服务器块执行此操作:
server {
listen 80;
server_name dev1.example.com.;
add_header Pragma no-cache;
add_header Expires "Sat, 01 Jan 2000 00:00:00 GMT";
add_header Cache-Control "private, no-cache, no-store, max-age=0, must-revalidate, post-check=0, pre-check=0";
return 301 http://dev1.example.com$request_uri;
}
但是,似乎什么都没发生。我尝试清除 DNS 解析器缓存,清除我自己的浏览器的 DNS 缓存,甚至用 Curl 请求了 URL。我请求的 URL 是“dev1.example.com”。我希望它会重定向到“dev1.example.com”。
答案1
此配置有效。您可以使用 CURL 检查:
curl -v -H 'Host: dev1.example.com.' -o /dev/null http://dev1.example.com
以下是使用 CURL 的事务:
> GET / HTTP/1.1
> User-Agent: curl
> Accept: */*
> Host: dev1.example.com.
>
< HTTP/1.1 301 Moved Permanently
< Server: nginx
< Date: Fri, 25 Jul 2014 04:30:37 GMT
< Content-Type: text/html
< Content-Length: 184
< Connection: keep-alive
< Location: http://dev1.example.com/
< Pragma: no-cache
< Expires: Sat, 01 Jan 2000 00:00:00 GMT
< Cache-Control: private, no-cache, no-store, max-age=0, must-revalidate, post-check=0, pre-check=0