我經常在PHP-fpm和nginx(Ubuntu)上安裝CodeIgniter 3。以前我一直在Windows上使用CodeIgniter,並在Windows和Apache上配置它,這是小菜一碟。 現在我想將它安裝在nginx上,因爲我想使用nginx-push-stream-module,這在apache中是不可能的。CodeIgniter 3,Nginx重寫如何?
現在,當我配置它,它不工作。
如果鍵入localhost/myexample.com
或localhost/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的官方網站上提到過,但那也行不通。
謝謝!有效 :) –