求高手帮我重写一下url,小弟无法解决!!

dnpao 2014-03-07 08:24:47
<?php

$show="<a href='http://news.xxx.com/list.php?&fid=17' target='_blank'>我是列表页的链接</a>";
$show.="<a href='http://news.xxx.com/bencandy.php?&fid=17&id=1089' target='_blank'>我是内容页的链接</a>";

rewrite_url($show);

//全站伪静态
function rewrite_url($content){
$content=preg_replace("/<a([^>]+)href=([\'\"]?)([^\'\"> ]+)([\'\"]?)/eis","rewrite_replace_url('\\3','\\1','\\2','\\4')",$content);
return "$content";
}
function rewrite_replace_url($code3,$code1,$code2,$code4){
$code3=preg_replace("/(.*)(list|bencandy|listsp|showsp|listall|listhomepage|joinshow)\.php\?(.*)/eis","rewrite_replace_parameter('\\1','\\2','\\3')",$code3);
return stripslashes("<a{$code1}href={$code2}{$code3}{$code4}");
}
function rewrite_replace_parameter($path,$filename,$parameter){
if($path&&substr($path,-1)!='/'){
return "{$path}{$filename}.php?{$parameter}"; //对于这种就不能处理的XXlist.php
}
$re='-htm-';
$filetype='.html';
$parameter=preg_replace("/^([&]+)(.*)/is","\\2",$parameter);
$parameter=str_replace(array('&&','&','='),array('&','-','-'),$parameter);
return "$path$filename$re$parameter$filetype";
}


//全局伪静态,解释参数
if($webdb[RewriteUrl]==1){
$detail=explode("-",substr($Rurl,0,-5)); //.html去除掉
for($i=0;$i<count($detail) ;$i++ ){
$_GET[$detail[$i]]=$$detail[$i]=$detail[++$i];
}
unset($i,$detail);
}

// nginx伪静态规则
location / {
rewrite ^(.*)/fid-(.*)$ $1.php?Rurl=$2 last;
}

//得到的伪静态地址
<a href='http://news.xxx.com/list-htm-fid-17.html' target='_blank'>我是列表页的链接</a>
<a href='http://news.xxx.com/bencandy-htm-fid-17-id-1089.html' target='_blank'>我是内容页的链接</a>



======================= 以上是我所使用的程序中的伪静态规则,这个规则特别有些难看,而且列表页与内容页样式一样 ===========================


我想请高人帮我重新改写一下 URL 以下我是想的效果,但不知道能否达到,不解之处还请高人指点,


<a href='http://news.xxx.com/list.php?&fid=17' target='_blank'>我是列表页的链接</a> //链接到列表页的
<a href='http://news.xxx.com/bencandy.php?&fid=17&id=1089' target='_blank'>我是内容页的链接</a> //链接到内容页的

$listname='zixun'; //这个我是想在网站后台的分类设置中,定义伪静态目录名称,以下是做个判断这个分类有没有定义目录名称。

//列表页重写后地址

if($listname){
<a href='http://news.xxx.com/zixun/list_17.html' target='_blank'>我是列表页的链接</a>
}else{
<a href='http://news.xxx.com/list_17.html' target='_blank'>我是列表页的链接</a>
}

//内容页重写后地址

if($listname){
<a href='http://news.xxx.com/zixun/20140307/10000.html' target='_blank'>我是内容的链接</a>
}else{
<a href='http://news.xxx.com/20140307/10000.html' target='_blank'>我是内容的链接</a>
}

20140307 //这个是用时间,可以调用数据中的文章发布时间,如果页面中所有链接都要查询一次对应内容的发布时间会不会很浪费服务器资源??
10000 // 这个是读取文章的id


?>
...全文
137 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
tottyandbaty 2014-03-09
  • 打赏
  • 举报
回复
你研究下CI的路由机制

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧