php生成伪静态
那位老兄有生成php伪静态的代码?让我看看哦。先在此谢谢啦
[解决办法]
这个是ecshop的伪静态生成代码
/** * 重写 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