这是我当前的WORKING nginx配置,它为包含它们的每个请求消除了WWW。我想要一个不使用IF语句的配置。
任何想法?
server {
listen 888.888.888.456:80;
charset utf-8;
root "/home/app/root/";
server_name ~^(.+)$;
if ($http_host ~ "www.(.*)") {
return 301 $scheme://$1$request_uri;
}
index index.php;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/tmp/php-fpm.sock;
fastcgi_param APPLICATION_ENV production;
}
}
答案 0 :(得分:1)
这将涉及分别为www和非www创建服务器{}。
sudo vi /etc/nginx/conf.d/redirect.conf
server {
server_name www.example.com;
return 301 $scheme://example.com$request_uri;
}
并且您使用非www的工作并删除if。
来源:https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/#server-name-if