在搭建typecho开源博客过程中,遇到如下两个问题:
1 搭建完成后,访问根域名正常如:http://typecho.abc.com/或http://typecho.abc.com/均正常;
但是当访问其他路径时报404如:http://typecho.bac.com/index.php/start-page.html
2 搜索框搜索时不生效,输入中文搜索时报错404页面不存在
上述两个问题均是nginx配置不当产生,修复如下:
server {
listen 80;
server_name typecho.abc.com;
index index.html index.htm index.php;
root /www/typecho;
location ~ .*\.(php|php5)?$
{
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi.conf;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
}
location / {
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}
}
重点配置:
1 配置:
fastcgi_split_path_info ^(.+\.php)(/.+)$;
2 配置:
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
参考链接: