原來在winserver+Apache環境下工作良好的一個微信公眾號後台遷移到阿裡雲(環境:Ubuntu 64位 | PHP5.4 | Nginx1.6)下卻頻出 404,403,只能訪問CI routes.php中設置的默認控制器等問題,後來上網查裡下可能是路由設置問題,幾經折騰最後按下面的設置解決問題。
1、修改網站配置文件
復制代碼 代碼如下:
server {
listen 80;
server_name example.com;//自己的域名
root /alidata/www/example;//網站目錄
index index.php index.htm index.html;
location / {
try_files $uri $uri/ /index.php;
}
location /index.php{
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /alidata/www/example/index.php;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi.conf;
}
}
2、修改CI 的config.php 文件
復制代碼 代碼如下:
$config['base_url'] = 'http://example.com/';
$config['uri_protocol'] = 'PATH_INFO';//貌似REQUEST_URI也行
$config['index_page'] = '';
3、網站根目錄以及以下目錄設置讀寫權限(777)
4、重啟nginx
以上所述就是本文的全部內容了,希望能夠對大家熟練使用CI框架有所幫助。