博主使用的是nginx+php-fpm来跑typecho, 结果一搭好,然后访问提示重定向多次.发现自己nginx配置使用的之前用于tp框架的配置,都将连接重定向到index.php上了. 遂一顿更改后结果首页可以访问, 但是具体文章页面是404. 又经过一顿nginx配置更改, 发现typecho框架是依赖php_info这个信息, 而这个变量需要nginx传递给它,如果没有则会出现上述报错. 综上将php_info传给php-fpm就行,完整的nginx配置如下供参考:
server {
listen 80;
server_name blog.nice100.net; #你的域名
root /path/to/project/; #项目绝对路径
index index.php;
#以下整个location块为配合typecho页面完全静态化的配置,如果typecho没有开启静态化这个块可有可无
location / {
index index.html index.php;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php/$1 last;
break;
}
}
location ~ \.php.*$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$; #这行是重点,它会将php_info信息传递给php-fpm
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PHP_VALUE open_basedir=$document_root/../:/tmp/:/proc/;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
}
这个就是我的blog: http://blog.nice100.net