最近在使用军哥LNMP一键包环境下安装Typecho后,访问内页出现 No input file specified 错误提示,网上搜索得知,Typecho 需要 pathinfo 的支持,本文包含了 Typecho 安装在根目录与子目录的伪静态规则。
开启PATHINFO
找到 /usr/local/php/etc/php.ini
文件,将 cgi.fix_pathinfo=0
中的0改成1,cgi.fix_pathinfo=1
,保存后输入命令:service php-fpm
重启php-fpm
添加伪静态规则
Nginx环境下Typecho伪静态规则如下:
location / {
index index.html index.php;
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;
}
}
如果是安装到子目录,要用下面的规则,注意请将subdir改为您自己的目录。
location /subdir/ {
if (!-e $request_filename) {
rewrite ^(.*)$ /note/index.php$1 last;
}
}
最后可以打开所有Typecho页面,最重要的是开启pathinfo支持。