A-A+
KingCMS伪静态在nginx的配置问题
现在用LNMP的人多了,论坛里也有朋友在用。也有人在论坛里问伪静态在Nginx下的配置问题,可惜没人给出一个满意的解决方案。今天终于搞定了配置文件,在LNMP下测试正常,共享上来,希望能帮到需要的人。
解决方案:
第1步:让Nginx支持PATH_INFO,这个在网上有很多人给出配置,可惜很多不能用。因为默认这个在Nginx下是不支持的,index.php/list-2-1.html这样的网址在Nginx下报404。
第2步:修改相应站点的配置文件,核心内容如下:
location ~ .*.(php/)
{
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
include pathinfo.conf;
}
location ~ .*.(php?)
{
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
需要注意的是,(php/)及(php?)后面没有常见配置中的$号
第3步:添加KingCMS所需的伪静态规则,我只写了两条
location / {
index index.htm index.html index.php default.php;
if (!-e $request_filename)
{
rewrite ^/list(.+)$ /index.php/list$1 last;
rewrite ^/page(.+)$ /index.php/page$1 last;
}
}
这个配置文件可以保存为kingcms.conf,然后在第2步配置内容前include下即可。
最后,重新启动系统,看看效果如何?
评论已关闭!