typecho非根目录404及搜索中文404解决办法

在搭建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;
}

 

参考链接:

http://forum.typecho.org/viewtopic.php?f=4&t=11602&p=43152&hilit=404+%E9%A1%B5%E9%9D%A2%E6%B2%A1%E6%89%BE%E5%88%B0#p43876

https://www.polarxiong.com/archives/typecho-404-error.html

你可能感兴趣的:(php,linux)