codeigniter在nginx安裝配置及URL重寫

官方文檔 https://www.nginx.com/resources/wiki/start/topics/recipes/codeigniter/php

codeigniter(CI)是一個輕量型的PHP優秀框架,可是它是在apache服務器下開發的,在nginx下須要特別的配置才能夠使用。html

codeigniter修改

application/config/config.php進行修改,大約在48行左右。nginx

1apache

$config['uri_protocol'] = "PATH_INFO";服務器

修改nginx配置

對nginx的進行配置,nginx.confapp

01框架

02codeigniter

03url

04spa

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

server {

        listen       80;

        listen [::]:80 ipv6only=on;

        server_name  www.example.com;

 

        root   /data/www/www.example.com;

        index index.php  index.html index.htm;

 

        location / {

                # 這裏使用try_files進行url重寫,不用rewrite了。

                try_files $uri $uri/ /index.php?$query_string;

        }

 

        location ~ \.php($|/) {

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

            fastcgi_split_path_info ^(.+\.php)(.*)$;

            fastcgi_param   PATH_INFO $fastcgi_path_info;

            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

            include        fastcgi_params;

        }

 

        location ~ /\.ht {

                deny  all;

        }

}

要特別注意19行的include fastcgi_params;,若是沒有這一行,那麼你的PHP程序會沒法運行的。我被這個坑了不少次了。

訪問url

在CI框架下,有一個默認的controller,叫welcome。原先在沒有nginx的rewrite前,咱們須要經過這樣的方式訪問http://www.example.com/index.php/welcome/index。如今咱們能夠http://www.example.com/welcome/index這樣訪問URL了。

相關文章
相關標籤/搜索