Привет, ребята! Я хочу, чтобы все мои URL-запросы, не являющиеся WWW, были перенесены навсегда, а также переписаны в WWW, и я также пытался следовать существующим решениям.
Nginx без www для www и www для no-www
но все же это не сработало для меня.
например Я хочу, чтобы example.com или example.com/* переписали на www.example.com или www.example.com/*
Я использую PHP-FPM с nginx и memcache
ниже мой конфиг
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;
.......
}
Ниже мой ответ локон
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
Я наконец решил свою проблему. Я проверил свой nginx.conf, и он указывал на / etc / nginx / sites-enabled и /etc/nginx/conf.d
мой nginx.conf->
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
Наконец, я скопировал свой файл с сайтов, доступных в папку сайтов с включенным. на самом деле я держал это синхронизировано.
ниже приведен код, который я использовал под моим тегом сервера
server {
listen 80;
server_name example.com;
return 301 $scheme://www.example.com$request_uri;
}
server {
listen 80;
server_name www.example.com;
#listen [::]:80 default_server ipv6only=on;
root /srv/www/example;
#rest config goes below
…….
Теперь весь мой трафик без www 301 постоянно перемещается и переписывается на www с указанным выше кодом.
Я позвонил не на www и получил следующий правильный ответ.
neel:~ nilesh$ curl -I http://example.com
HTTP/1.1 301 Moved Permanently
Server: nginx/1.4.6 (Ubuntu)
Date: Thu, 27 Aug 2015 08:39:38 GMT
Content-Type: text/html
Content-Length: 193
Connection: keep-alive
Location: http://www.example.com/
Других решений пока нет …