原来在winserver+Apache环境下工作良好的一个微信公众号后台迁移到阿里云(环境:Centos 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

发表评论

电子邮件地址不会被公开。 必填项已用*标注

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>


*