【发布时间】:2015-11-15 20:13:58
【问题描述】:
嗨,伙计们,我希望我的所有非 WWW url 请求永久移动并重写到 WWW,我也尝试在这些方面遵循现有解决方案 Nginx no-www to www and www to no-www 但它仍然对我不起作用。
例如我希望 example.com 或 example.com/* 重写为 www.example.com 或 www.example.com/*
我正在使用 nginx 和 memcache 运行 PHP-FPM
下面是我的配置
server {
listen 80;
server_name abc.com;
return 301 http://www.example.com$request_uri;
}
server {
listen 80;
server_name www.example.com;
root /srv/www/abc;
index index.php index.html index.htm;
.......
}
以下是我的 curl 回复
neel:~ nilesh$ curl -I http://example.com
HTTP/1.1 200 OK
Server: nginx/1.4.6 (Ubuntu)
Date: Fri, 21 Aug 2015 19:00:54 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Vary: Accept-Encoding
X-Powered-By: PHP/5.5.9-1ubuntu4.11
X-Drupal-Cache: HIT
Etag: "1440178291-0"
Content-Language: en
X-Generator: Drupal 7 (http://drupal.org)
Link: <http://example.com/>; rel="canonical",<http://example.com/>; rel="shortlink"
Cache-Control: public, max-age=1800
Last-Modified: Fri, 21 Aug 2015 17:31:31 +0000
Expires: Sun, 19 Nov 1978 05:00:00 GMT
Vary: Cookie
Vary: Accept-Encoding
【问题讨论】:
-
您是否尝试将
-L或--location提供给curl?如果你不这样做,因为 curl 不会跟随重定向。 -
我试过但 -L 只是打印出 html。好吧-我返回标头,如果配置有效,它将永久移动返回。
-
那么这是您当地的环境还是现场环境?只有我想到的事情,如果它是实时 dns 会导致这样的事情。
-
这是现场环境,部署在ec2上,流量不错。 godaddy dns上有ec2 IP的一条记录
标签: php redirect drupal nginx permanent