这是我的NGINXconfiguration(没有apache,只是php-fpm):
user nginx; worker_processes 1; error_log /usr/local/nginx/logs/error.log notice; pid /var/run/nginx.pid; events { worker_connections 384; } http { include mime.types; default_type application/octet-stream; access_log off; server_tokens off; sendfile on; tcp_nopush on; tcp_nodelay off; client_max_body_size 8M; client_body_timeout 30; client_header_timeout 15; keepalive_timeout 15 65; send_timeout 30; gzip on; gzip_static on; gzip_disable "msie6"; gzip_vary on; gzip_proxied any; gzip_comp_level 9; gzip_buffers 32 4k; gzip_http_version 1.0; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; upstream php-fpm-sock { server unix:/var/run/php-fpm.sock; } server { listen 80; server_name example.com; index index.php index.html; root /usr/local/nginx/html; error_page 404 index.php; if ($request_method !~ ^(GET|HEAD|POST)$ ) { return 444; } location ~* \.(?:jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ { expires 1y; log_not_found off; } location / { try_files $uri $uri/ /index.php?q=$uri; } location /blog { try_files $uri $uri/ /index.php?$uri&$args; } location ~ \.php$ { fastcgi_index index.php; try_files $uri =404; fastcgi_pass php-fpm-sock; fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name; include fastcgi_params; fastcgi_connect_timeout 15; fastcgi_send_timeout 30; fastcgi_read_timeout 15; fastcgi_buffer_size 8k; fastcgi_buffers 32 8k; } } }
我想也许这是godaddy做某种转发,但我把DNS从Godaddy移到AWS Route 53和STILL如果我键入example.com它转发到301的www .example.com。
我的路线53 dns:
mywebsite.com 3600 A 107.22.210.xxx *.mywebsite.com 3600 CNAME ec2-107-22-210-xxx.compute-1.amazonaws.com
什么导致这个redirect?
谢谢
nginx不redirect – 特别是不发送你看到的301响应代码。 在PHP中运行的代码几乎肯定是罪魁祸首。
请提供有关在PHP代码中运行的信息–nginx不是问题。
我注意到,在大多数网页浏览器中,如果他们无法使用domain.com进行连接,那么他们会自动(并瞬间)跳转到www.domain.com。 确保您的服务器实际上正在回应domain.com的请求。
做下面的testing,并留下评论的结果(这假设使用Linux工作站,也许别人可以发布Windows / Mac版本):
确保域在被自己使用时parsing:
nslookup domain.com
确保Web服务器实际上在监听:
telnet domain.com 80
请求索引文件时,请查看Web服务器向我们发送的内容:
wget domain.com
祝你好运!