纠正我的一个错误,没想到这个错误存在了9个月,恐怖啊,但愿没误导别人,或者也有人发现了这个错误,自己更正了,现在我煽自己两耳光来更正这个错误!
请看我以前写的:
function GetCurUrl() { if(!empty($_SERVER["REQUEST_URI"])) { $nowurl = $_SERVER["REQUEST_URI"]; $nowurls = explode("?",$nowurl); $nowurl = $nowurls[0]; $nowurl=str_replace(".php",'',$nowurl); } else { $nowurl = $_SERVER["PHP_SELF"]; $nowurl=str_replace(".php",'',$nowurl); } return $nowurl; }
这里面存在很明显的错误,if(!empty($_SERVER["REQUEST_URI"])) 这个条件肯定是成立的,所以下面的else就执行不了,我犯这个错误的原因是我的那个站主机是windows的,不支持这个函数,直接执行下面的了,但在linux下是成立的,所以下面的else就不成立了。我现在十分懊悔,现已更正!
前几天看了tag标签伪静态 刚才灵机一动,不如把分页URL也弄成伪静态算了,下面是实现方法:
第一步:
1.打开arc.taglist.class.php
2.找到这个方法
function GetCurUrl() { if(!empty($_SERVER["REQUEST_URI"])) { $nowurl = $_SERVER["REQUEST_URI"]; $nowurls = explode("?",$nowurl); $nowurl = $nowurls[0]; } else { $nowurl = $_SERVER["PHP_SELF"]; } return $nowurl; }
3.修改成下面这样 (其实就是把.php过滤掉,没啥,高手淡定 这是给不懂的人看的)
function GetCurUrl() { $nowurl = $_SERVER["PHP_SELF"]; $nowurl=str_replace(".php",'',$nowurl); return $nowurl; }
第二步:
1. 找到
$purl .= "?/".urlencode($this->Tag);
然后把那个“?”号删掉
2.找到
$prepage.="<li><a href='".$purl."/$prepagenum/'>上一页</a></li>\r\n"; $indexpage="<li><a href='".$purl."/1/'>首页</a></li>\r\n";
修改为 (其实就是在链接后加了个后缀.html)
$prepage.="<li><a href='".$purl."/$prepagenum.html'>上一页</a></li>\r\n"; $indexpage="<li><a href='".$purl."/1.html'>首页</a></li>\r\n";
3. 找到
$nextpage.="<li><a href='".$purl."/$nextpagenum/'>下一页</a></li>\r\n"; $endpage="<li><a href='".$purl."/$totalpage/'>末页</a></li>\r\n";
修改为
$nextpage.="<li><a href='".$purl."/$nextpagenum.html'>下一页</a></li>\r\n"; $endpage="<li><a href='".$purl."/$totalpage.html'>末页</a></li>\r\n";
4. 找到
if($j==$this->PageNo) { $listdd.= "<li class=\"thisclass\"><a>$j</a></li>\r\n"; } else { $listdd.="<li><a href='".$purl."/$j/'>".$j."</a></li>\r\n"; }
修改为
if($j==$this->PageNo) { $listdd.= "<li class=\"thisclass\"><a>$j.html</a></li>\r\n"; } else { $listdd.="<li><a href='".$purl."/$j.html'>".$j."</a></li>\r\n"; }
5.这个文件修改完毕,保存。
第三步:
修改.htaccess 或者httpd.ini文件
添加一个条规则:
RewriteRule ^(.*)/tags/([0-9a-zA-Z%]+)/([0-9]+)\.html$ $1/tags\.php\?/$2/$3
这样就搞定了。
友情提示:如果你之前弄过tag标签伪静态 而且规则是这样写的:
RewriteRule ^(.*)/tags/(.*)\.html$ $1/tags\.php\?$2
这样肯定会出错的,范围太广了,请修改成这样:
RewriteRule ^(.*)/tags/([0-9a-zA-Z%]+)\.html$ $1/tags\.php\?$2
去看看这个页面的分页链接吧:http://www.qqloveu.com/tags/%C5%AE%D0%D4.html
天都亮了,小弟得洗把脸了睡觉,唉,这日子,啥时才是个头....