首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

php生成伪静态解决方法

2012-02-07 
php生成伪静态那位老兄有生成php伪静态的代码?让我看看哦。先在此谢谢啦[解决办法]这个是ecshop的伪静态生

php生成伪静态
那位老兄有生成php伪静态的代码?让我看看哦。先在此谢谢啦

[解决办法]
这个是ecshop的伪静态生成代码

PHP code
/** * 重写 URL 地址 * * @access  public * @param   string  $app    执行程序 * @param   array   $params 参数数组 * @param   string  $append 附加字串 * @param   integer $page   页数 * @return  void */function build_uri($app, $params, $append = '', $page = 0, $size = 0){    static $rewrite = NULL;    $append = str_replace(':',' ',$append);    $append = str_replace('/',' ',$append);    $append = str_replace('?',' ',$append);    $append = str_replace('?',' ',$append);    $append = str_replace('“',' ',$append);    $append = str_replace('”',' ',$append);    $append = str_replace(':',' ',$append);    $append = str_replace('#',' ',$append);    $append = str_replace(',',' ',$append);    $append = str_replace('=',' ',$append);    $append = str_replace(')',' ',$append);    $append = str_replace(')',' ',$append);    $append = str_replace('(',' ',$append);    $append = str_replace('(',' ',$append);    $append = str_replace('!',' ',$append);    $append = str_replace('\\',' ',$append);    $append = str_replace('…',' ',$append);    $append = str_replace('.',' ',$append);    $append = str_replace('。',' ',$append);    $append = preg_replace('/(\s+)/', '-', $append);    //exit;    if ($rewrite === NULL)    {        $rewrite = intval($GLOBALS['_CFG']['rewrite']);    }    $args = array('cid'   => 0,                  'gid'   => 0,                  'bid'   => 0,                  'acid'  => 0,                  'aid'   => 0,                  'sid'   => 0,                  'gbid'  => 0,                  'auid'  => 0,                  'sort'  => '',                  'order' => '',                );    extract(array_merge($args, $params));    $uri = '';    switch ($app)    {        case 'category':            if (empty($cid))            {                return false;            }            else            {                if ($rewrite)                {                    $uri = 'category-' . $cid;                    if (isset($bid))                    {                        $uri .= '-b' . $bid;                    }                    if (isset($price_min))                    {                        $uri .= '-min'.$price_min;                    }                    if (isset($price_max))                    {                        $uri .= '-max'.$price_max;                    }                    if (isset($filter_attr))                    {                        $uri .= '-attr' . urlencode($filter_attr);                    }                    if (!empty($page))                    {                        $uri .= '-' . $page;                    }                    if (!empty($sort))                    {                        $uri .= '-' . $sort;                    }                    if (!empty($order))                    {                        $uri .= '-' . $order;                    }                }                else                {                    $uri = 'category.php?id=' . $cid;                    if (!empty($bid))                    {                        $uri .= '&brand=' . $bid;                    }                    if (isset($price_min))                    {                        $uri .= '&price_min=' . $price_min;                    }                    if (isset($price_max))                    {                        $uri .= '&price_max=' . $price_max;                    }                    if (isset($filter_attr))                    {                        $uri .='&filter_attr=' . urlencode($filter_attr);                    }                    if (!empty($page))                    {                        $uri .= '&page=' . $page;                    }                    if (!empty($sort))                    {                        $uri .= '&sort=' . $sort;                    }                    if (!empty($order))                    {                        $uri .= '&order=' . $order;                    }                }            }            break;        case 'goods':            if (empty($gid))            {                return false;            }            else            {                $uri = $rewrite ? 'DVD-' . $gid : 'goods.php?id=' . $gid;            }            break;        case 'brand':            if (empty($bid))            {                return false;            }            else            {                if ($rewrite)                {                    $uri = 'brand-' . $bid;                    if (isset($cid))                    {                        $uri .= '-c' . $cid;                    }                    if (!empty($page))                    {                        $uri .= '-' . $page;                    }                    if (!empty($sort))                    {                        $uri .= '-' . $sort;                    }                    if (!empty($order))                    {                        $uri .= '-' . $order;                    }                }                else                {                    $uri = 'brand.php?id=' . $bid;                    if (!empty($cid))                    {                        $uri .= '&cat=' . $cid;                    }                    if (!empty($page))                    {                        $uri .= '&page=' . $page;                    }                    if (!empty($sort))                    {                        $uri .= '&sort=' . $sort;                    }                    if (!empty($order))                    {                        $uri .= '&order=' . $order;                    }                }            }            break;        case 'article_cat':            if (empty($acid))            {                return false;            }            else            {                if ($rewrite)                {                    $uri = 'article_cat-' . $acid;                    if (!empty($page))                    {                        $uri .= '-' . $page;                    }                    if (!empty($sort))                    {                        $uri .= '-' . $sort;                    }                    if (!empty($order))                    {                        $uri .= '-' . $order;                    }                }                else                {                    $uri = 'article_cat.php?id=' . $acid;                    if (!empty($page))                    {                        $uri .= '&page=' . $page;                    }                    if (!empty($sort))                    {                        $uri .= '&sort=' . $sort;                    }                    if (!empty($order))                    {                        $uri .= '&order=' . $order;                    }                }            }            break;        case 'article':            if (empty($aid))            {                return false;            }            else            {                $uri = $rewrite ? 'article-' . $aid : 'article.php?id=' . $aid;            }            break;        case 'group_buy':            if (empty($gbid))            {                return false;            }            else            {                $uri = $rewrite ? 'group_buy-' . $gbid : 'group_buy.php?act=view&id=' . $gbid;            }            break;        case 'auction':            if (empty($auid))            {                return false;            }            else            {                $uri = $rewrite ? 'auction-' . $auid : 'auction.php?act=view&id=' . $auid;            }            break;        case 'snatch':            if (empty($sid))            {                return false;            }            else            {                $uri = $rewrite ? 'snatch-' . $sid : 'snatch.php?id=' . $sid;            }            break;        case 'search':            break;        default:            return false;            break;    }    if ($rewrite)    {        if ($rewrite == 2 && !empty($append))        {            if ($app == 'goods')            {                 $uri = urlencode(preg_replace('/[\.|\/|\?|&|\+|\\\|\'|"|,]+/', '', $append)).'-'.$uri;            }else{                 $uri .= '-' . urlencode(preg_replace('/[\.|\/|\?|&|\+|\\\|\'|"|,]+/', '', $append));            }        }        $uri .= '.html';    }    if (($rewrite == 2) && (strpos(strtolower(EC_CHARSET), 'utf') !== 0))    {        $uri = urlencode($uri);    }    return $uri;} 


[解决办法]
.htaccess文件实现URL重写:例如,具体的网上搜索
Options -Indexes
RewriteEngine on
RewriteBase /
RewriteRule tasks/([0-9]+)/([^\.]+)\.html$ /tasks.php?id=$1&title=$2

热点排行