2016-07-23 32 views
0

私は解決策をオンラインで見つけようとしましたが、すべての解決策は異なります。誰も働いていない。私はちょうどApacheからNginxへ私たちのWebサーバーを移行し、私は404エラーを取得しています。ここにPHPの情報はhttp://likeopedia.net/info.phpです。メインドメインにアクセスすると、エラーが表示されます。Nginx、Codeigniter 404エラー。 index.phpファイルにアクセスできない

このセットアップでは重大な問題に直面しています。私たちのサイトはApacheサーバーで動作していますが、Nginxでは動作していません。

ここに少し変更したnginx.confファイルがあります。

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

events { 
    worker_connections 1024; 
} 

http { 
    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; 

    sendfile   on; 
    tcp_nopush   on; 
    tcp_nodelay   on; 
    keepalive_timeout 65; 
    types_hash_max_size 2048; 

    include    /etc/nginx/mime.types; 
    default_type  application/octet-stream; 

    include /etc/nginx/conf.d/*.conf; 
    autoindex on; 
    index index.php; 

    server { 
     listen  80 default_server; 
     listen  [::]:80 default_server; 
     server_name localhost; 
     root  /var/www/html; 

     include /etc/nginx/default.d/*.conf; 
     index index.php index.html index.htm; 
     rewrite_log on; 
     location/{ 
     try_files $uri $uri/ /index.php; 

     location = /index.php { 

         fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; 
         fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name; 
         include  fastcgi_params; 
        } 
     } 

     location ~ \.php$ { 
      return 444; 
     } 

、ここでのCodeIgniter confiq.phpファイル:

$config['base_url'] = 'http://likeopedia.net'; 

$config['abs_path'] = $_SERVER['DOCUMENT_ROOT'].'/'; 

$config['logout_url'] = 'http://likeopedia.net'; 

$config['index_page'] = ''; 

$config['uri_protocol'] = 'AUTO'; 

$config['url_suffix'] = ''; 

これは、開発モードになりました。

答えて

1

location /の中にlocation = /index.phpを入れました。 location /を変更して、location = /index.phpを囲まないようにしてください。 それは次のようになります。

location/{ 
     try_files $uri $uri/ /index.php; 
     } 
location = /index.php { 
      fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; 
      fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name; 
      include  fastcgi_params; 
     } 
location ~ \.php$ { 
    return 444; 
    } 

はそれを試してみると、このことができます場合はお知らせ。 location = /index.phpを削除し、代わりに、宣言location ~\.php$ために、以下の設定を試してください:あなたの返信用

location ~ \.php$ { 
        try_files $uri =404; 
        fastcgi_pass unix:/var/run/php5-fpm.sock; 
        fastcgi_index index.php; 
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
        include fastcgi_params; 

      } 
+0

感謝を - フィードバックのための 感謝ここでは、私はあなたが同様に試すことができると思いますものです。コードを更新しましたが、404エラーが表示されます。ここhttp://likeopedia.net/で確認できます。他に何かすればいいのですか? ここに私のサンプルのnginx.confファイル:http://likeopedia.net/nginx.conf –

+0

私は答えを更新しました。 – ishmaelMakitla

+0

私はもう一度コードを更新しました。同じエラーです。私のfastcgiは正しくインストールされていますか? 更新コードは次のようになります。 場所/ { try_files $ uri $ uri//index.php; } \t \t場所〜\ .php $ { try_files $ uri = 404; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; にはfastcgi_paramsが含まれます。 } –

関連する問題