2013-12-16 15 views
7

htaccessファイルをNginxに変換しようとしていて、動作させることができません。 404エラーを返します。ここ はhtaccessの内容です:あなたが直接呼び出す他のPHPファイルについてNginxでtry_filesでindex.phpに存在しないファイルのリクエストを書き直してください。

server { 
listen 80; 
server_name domain.biz; 
root /var/www/domain.biz; 
charset utf-8; 
autoindex off; 

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

location ~ \.php$ { 
include  fastcgi_params; 
fastcgi_pass unix:/var/run/php5-fpm.sock; 
fastcgi_param SCRIPT_FILENAME /var/www/domain.biz$fastcgi_script_name; 
} 
} 

答えて

2
  1. 方法:ここで

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ index.php [L] 
    

    は私の現在のnginxの設定ですか?たとえば、info.phpには、

    phpinfo()があります。

    の中には?

    あなたのサーバーのconfがtry_filesを正しく使用しているようですが、PHPスクリプトを正しく処理しているかどうかはわかりません。

  2. あなたのfastcgiプールはその靴下でリッスンしていますか?あなたはポート9000を聞いていないと確信していますか?いずれにせよ、私は、http]セクションの上流を定義し、

    http { 
    
        upstream phpbackend { 
         server unix:/var/run/php5-fpm.sock; 
        } 
        ... 
    
    
        server { 
         ... 
         location ~ \.php$ { 
          include  fastcgi_params; 
          fastcgi_pass phpbackend; 
          fastcgi_param SCRIPT_FILENAME /var/www/domain.biz$fastcgi_script_name; 
         }  
        } 
    } 
    
  3. サーバー]セクションで、後でそれを使用することを好むあなたのphp.iniをfalseに設定cgi.fix_pathinfoを持っているあなたは確かにいますか?

+0

あなたの答えの後、私はnginxを再起動しましたが、今はうまくいきます:リロードのように見えます – user2975535

関連する問題