dedecms 5.5 实现tag分页伪静态

纠正我的一个错误,没想到这个错误存在了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

 

天都亮了,小弟得洗把脸了睡觉,唉,这日子,啥时才是个头....

你可能感兴趣的:(tags,dede5.5,tags伪静态,tags分页)