2012-01-25 26 views
16

Định nghĩa máy chủ của tôi có vấn đề gì? Nếu tôi cố gắng truy cập vào "www.testing.com", tôi nhận được một tệp nhị phân để tải xuống thay vì index.php, thay vào đó nếu tôi cố gắng truy cập vào "testing.com", tôi nhận được index.php.Không thể mở index.php theo mặc định bằng nginx

Tôi đã cố gắng để thiết lập servername để:

servername testing.com; 
servername testing.com www.testing.com; 
servername testing.com www.testing.com *.testing.com; 

hành vi tương tự: Tôi không thể có được index.php với "www.testing.com", chỉ với "testing.com". (off course testing.com không phải của tôi chỉ là ví dụ).

user    nginx; 
    worker_processes 4; 
    error_log   /var/log/nginx/error.log warn; 
    pid    /var/run/nginx.pid; 

    events { 
     worker_connections 1024; 
    } 


    http { 
     include  /etc/nginx/mime.types; 
     default_type text/plain; 

     log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 
          '$status $body_bytes_sent "$http_referer" ' 
          '"$http_user_agent" "$http_x_forwarded_for"'; 

     access_log /var/log/nginx/access.log main; 

     fastcgi_intercept_errors on; 
     sendfile     on; 
     keepalive_timeout   65; 
     gzip      on; 
     index      index.php index.html index.htm; 

     server { 
       listen 80; 
       server_name www.testing.com; 
       root /home/vhosts/testing; 

       location/{ 
        try_files $uri $uri/ /index.php index.php; 
       } 

     location ~* \.(?:ico|css|js|gif|jpe?g|png)$ { 
        expires max; 
        add_header Pragma public; 
        add_header Cache-Control "public, must-revalidate, proxy-revalidate"; 
       } 

     location ~* \.php$ { 
       try_files $uri =404; 
       include fastcgi.conf; 
       fastcgi_pass 127.0.0.1:9000; 
       } 
     } 
    } 

Trả lời

-1

Bạn có thể có nhiều hơn một dòng servername, nó sẽ thiết lập một vhost trên tất cả trong số họ.

+0

Ý của bạn là anh không thể? – Purefan

8

thêm fastcgi_index index.php; trong location ~* \.php$

location ~* \.php$ { 
       try_files $uri =404; 
       include fastcgi.conf; 
       fastcgi_pass 127.0.0.1:9000; 
       fastcgi_index index.php; 
       } 
+1

+1 điều này làm việc cho tôi, cảm ơn bạn! – coma

18

đầu tiên bạn cần phải kiểm tra các thiết lập php-fpm của bạn (có thể bạn sử dụng kết nối ổ cắm thay vì cổng trong cấu hình php-fpm của bạn) và thêm chỉ số mặc định trong vị trí của bạn "/"

location/{ 
    index index.php index.html index.htm; 
    try_files $uri $uri/ =404; 
} 
Các vấn đề liên quan