Я хочу ВСЕГДА перенаправлять сайт на www.site.com. Однако я не уверен, как заставить WWW всегда отображаться впереди, если кто-то вводит домен без www.
РЕДАКТИРОВАТЬ:
server {
listen 80;
server_name site.com;
rewrite ^(.*) https://www.site.com$1 permanent;
}
server {
listen 80;
server_name www.site.com;
#rewrite ^(.*) https://www.site.com$1 permanent;
root /home/site/public_html;
listen 443 ssl;
Если я наберу site.com, он перейдет к https://www.site.com
= УСПЕХ
Если я наберу site.com/index.php, он перейдет к http://www.site.com
= НЕТ SSL
Идеи?
Лучше использовать return
вместо того rewrite
, потому что это быстрее
server {
listen 80;
server_name example.com;
return 301 http://www.example.com$request_uri;
server {
listen 80;
server_name www.example.com;
[...]
}
Таким образом, мы также отправляем клиенту правильный код состояния, чтобы он запрашивал правильный домен в следующем запросе.
Вы делаете это нелегко. Вот простой способ.
server {
listen 80;
server_name example.com;
rewrite ^(.*) http://www.example.com$1 permanent;
}
server {
listen 80;
server_name www.example.com;
#The rest of your configuration goes here#
}