AKCMS伪静态失败的原因

LMS
1.1K+ 3

说正事前来一通习惯性的牢骚。

用AKCMS挺久了,有种越用越没信心的感觉。原来是冲着它小巧才用的,现在才发现并不是小巧就好,小的东西大都是功能有限或者不成熟的,而巧的东西用起来是需要智商的。像我这样没水平没技术的纯业余爱好者,用这样“小巧”的程序纯粹是找不自在,遇到问题基本无法解决。所谓没有那精钢钻,只能乱丢瓷器了。

话说回来,现在越来越多的博主和空间商开始抱怨wordpress臃肿、占用资源、拖慢服务器。对于博客程序来说,wordpress确实已经严重复杂了,现在你再问人家推荐博客程序,已经不是当年人人都说wordpress,现在都改为推荐typecho了。

话回到AKCMS上来,目前这个程序基本上只能用来做展示用的站,也就是我发布内容你看,看过了就算了,就像想评论也不大让人满意,相对于wordpress的评论功能,作为cms来说,akcms的评论实在太让人觉得寒碜了。当然,结合目前的第三方评论也过得去,我暂时就是用评论啦的。所以,大部分人拿这个程序都是用来做垃圾站的,所谓垃圾站利器。有技术的2次开发的除外。

言归正传,回到这个akcms伪静态失败的问题上来,我设置的伪静态是用文件名,最后的地址是分别是:分类http://read.muxer.cn/humor/;文章http://read.muxer.cn/qimeng/ming-xian-ji.html,这样的样式。可是在伪静态设置成功后,再添加不少文章后突然有一篇文章的伪静态失效了,这让我没有半点办法。所以,只能在htaccess文件中单独为这篇文章做一句伪静态,之后一直没问题。

今天在添加栏目的时候,突然这个问题又出现了,其他栏目的伪静态好好的都可以用,就这个新添加的栏目不行,我又单独试了一下独立添加的办法,伪静态成功,删掉就不行。

这两句独立的伪静态有个共同点,就是都单独通过id来实现,而不能通过path:
RewriteRule ^qimeng/ming-xian-ji.html$ akcms_item.php?id=12 [L]
RewriteRule ^humor/$ category.php?id=9 [L]

我估计是程序哪里出问题,在数据库中找了半天发现ak_filenames表里面关于上面这两个的记录(id为9的栏目和id为12的文章)都丢失了,如下图:

akcms伪静态失败

重新修改提交也不能重新在数据库中插入这两个值,所以只能通过手工修改数据库来解决这个问题。不知道是程序的问题还是空间的问题。另外做了个测试,发布文章后再修改文件名提交,数据库中的filename值依然不变,伪静态又失效。

下面附上我read.muxer.cn上个人用的伪静态规则:

RewriteEngine On
RewriteBase /

RewriteRule ^rss.xml$ akcms_item.php?id=10 [L]
RewriteRule ^qimeng/ming-xian-ji.html$ akcms_item.php?id=12 [L]

RewriteRule ^([a-zA-Z0-9\-_]+)/$ category.php?path=$1 [L]
RewriteRule ^([a-zA-Z0-9\-_]+)/([a-zA-Z0-9\-_]+)/$ category.php?path=$1/$2 [L]
RewriteRule ^([a-zA-Z0-9\-_]+)/index-([0-9]+)\.html$ category.php?path=$1&page=$2 [L]
RewriteRule ^([a-zA-Z0-9\-_]+)/([a-zA-Z0-9\-_]+)/index-([0-9]+)\.html$ category.php?path=$1/$2&page=$3 [L]

RewriteRule ^tag/([^/]+)/$ search.php?s=$1 [L]
RewriteRule ^tag/([^/]+)$ search.php?s=$1 [L]
RewriteRule ^tag/([^/]+)/page-([0-9]+)$ search.php?s=$1&page=$2 [L]

RewriteRule ^index\.html$ akcms_item.php?id=1 [L]
RewriteRule ^index-([0-9]+)\.html$ akcms_item.php?id=1&page=$1 [L]
#RewriteRule ^([a-zA-Z0-9\-_\/]+)/([a-zA-Z0-9\-_\/]+)\.html$ akcms_item.php?id=$2 [L]

RewriteRule ^([a-zA-Z0-9\-_\/]+\.html)$ akcms_rounter.php?filename=$1 [L]
THE END

评论 3

  1. typecho在等新版本,akcms手动太多了!

  2. 为什么不用typecho。貌似很赞。

    1. typecho用过一段时间,真的不错,不过还是习惯用wp。

发表评论

Submit