2012-01-25 12 views
16

Co jest nie tak z moją definicją serwera? Jeśli spróbuję uzyskać dostęp do "www.testing.com", otrzymam plik binarny do pobrania zamiast index.php, zamiast tego, jeśli spróbuję uzyskać dostęp do "testing.com", otrzymam index.php.Nie można domyślnie otworzyć pliku index.php przy użyciu nginx

Próbowałem już ustawić nazwa_serwera do:

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

samo zachowanie: Nie mogę dostać index.php z "www.testing.com", tylko z "testing.com". (off course testing.com nie jest mój jest tylko na przykład).

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; 
       } 
     } 
    } 

Odpowiedz

-1

Możesz mieć więcej niż jedną linię servername, ustawi ona VHOST na wszystkich z nich.

+0

Czy chodziło Ci on żargon? – Purefan

8

dodać fastcgi_index index.php; w location ~* \.php$

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

+1 to działało dla mnie, dziękuję! – coma

18

najpierw trzeba sprawdzić ustawienia PHP-FPM (być może przy użyciu połączenia gniazda zamiast portu w konfiguracji php-fpm) i dodać indeks domyślnie w lokalizacji „/”

location/{ 
    index index.php index.html index.htm; 
    try_files $uri $uri/ =404; 
} 
Powiązane problemy