终于搞定了Nginx下KingCMS的伪静态配置

添加日期:2012-09-26  点击量:0

现在用LNMP的人多了,论坛里也有朋友在用。也有人在论坛里问伪静态在Nginx下的配置问题,可惜没人给出一个满意的解决方案。今天终于搞定了配置文件,在LNMP下测试正常,共享上来,希望能帮到需要的人。

解决方案:

第1步:让Nginx支持PATH_INFO,这个在网上有很多人给出配置,可惜很多不能用。下载这面这个配置文件pathinfo.conf,在你的配置文件中include下即可。因为默认这个在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下即可。

最后,重新启动系统,看看效果如何?终于搞定了Nginx下KingCMS的伪静态配置

相关内容