2016-09-06 80 views
0

我經常在PHP-fpm和nginx(Ubuntu)上安裝CodeIgniter 3。以前我一直在Windows上使用CodeIgniter,並在Windows和Apache上配置它,這是小菜一碟。 現在我想將它安裝在nginx上,因爲我想使用nginx-push-stream-module,這在apache中是不可能的。CodeIgniter 3,Nginx重寫如何?

現在,當我配置它,它不工作。

如果鍵入localhost/myexample.comlocalhost/myexample.com/index.php它的工作原理(myexample.com是該目錄的名稱)

,但是當我試圖訪問

localhost/myexample.com/welcome 

localhost/myexample.com/welcome/index 

localhost/myexample.com/index.php/welcome 

localhost/myexample.com/index.php/welcome/index 

它不以任何的4個情況下工作(有或沒有的index.php)

我的根目錄是/var/www/html/myexample.com

我嘗試了所有可用的重寫設置在線(包括以下設置)來自不同的博客文章等(因爲我自己並不習慣nginx)

server { 
    server_name myexample.com; 
    root /var/www/html/myexample.com/; 
    index index.php index.html index.htm; 
    location/{ 
     try_files $uri $uri/ /index.php; 
    } 

    location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ { 
     expires   15d; 
    } 

    location ~ \.php$ { 
     include /etc/nginx/fastcgi_params; 
     fastcgi_index index.php; 
     fastcgi_param SCRIPT_FILENAME /var/www/html/myexample.com/index.php; 
     fastcgi_param REQUEST_URI  $request_uri; 
     fastcgi_param QUERY_STRING  $query_string; 
     fastcgi_param REQUEST_METHOD $request_method; 
     fastcgi_param CONTENT_TYPE  $content_type; 
     fastcgi_param CONTENT_LENGTH $content_length; 
     fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; 
    } 
} 

編輯:我也試過the method在Nginx的官方網站上提到過,但那也行不通。

回答

0

你應該修改/ etc/hosts文件,加入這一行:

127.0.0.1 myexample.com

和使用後myexample.commyexample.com /歡迎訪問您的CodeIgniter網站

+0

謝謝!有效 :) –

0

首先 - 確認服務器名稱將是什麼。將其設置在您的主機文件中,然後確認Web根目錄。

所以在/ etc/hosts中添加

127.0.0.1 myexample.com 

那麼你的index.php文件應該在

/var/www/html/myexample.com/ 

你應該得到CI並在URL工作

http://myexample.com