Domain-Name-System
你能幫我找出 example.com 到 www.example.com 的重寫來自哪裡嗎?
這是我的 NGINX 配置(沒有 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,如果我輸入example.com,它仍然會轉發到301到www .example.com。
我的 Route 53 dns:
mywebsite.com 3600 A 107.22.210.xxx *.mywebsite.com 3600 CNAME ec2-107-22-210-xxx.compute-1.amazonaws.com
導致此重定向的原因是什麼?
謝謝
nginx 沒有重定向——尤其是沒有發送您看到的 301 響應程式碼。在 PHP 中執行的程式碼幾乎肯定是罪魁禍首。
請提供有關 PHP 程式碼中執行的內容的資訊 - nginx 不是問題。
我注意到,在大多數網路瀏覽器中,如果它們無法使用 domain.com 建立連接,那麼它們會自動(並且幾乎是瞬間)跳轉到 www.domain.com。確保您的伺服器確實在響應 domain.com 的請求。
做以下測試,請留下評論結果(這裡假設使用 Linux 工作站,也許其他人可以發布 Windows/Mac 版本):
確保域在單獨使用時解析:
nslookup domain.com
確保 Web 伺服器實際上正在偵聽:
telnet domain.com 80
查看請求索引文件時 Web 伺服器向我們發送的位置:
wget domain.com
祝你好運!