ホームページ >バックエンド開発 >PHPチュートリアル >PHP は疑似静的ソリューションを生成します
PHP は擬似静的を生成します
PHP の擬似静的を生成するコードを持っている人はいますか?そうねぇ。よろしくお願いします
-----解決策---------
これはecshopの擬似静的に生成されたコードです
/*** URLアドレスを書き換える * * @アクセスパブリック * @param string $app実行プログラム * @param 配列 $params パラメータ配列 * @param string $追加の文字列を追加 * @param integer $page ページ番号 * @return void*/ 関数 build_uri($app, $params, $append = '', $page = 0, $size = 0) { 静的 $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); //出口; if ($rewrite === NULL) { $rewrite = intval($GLOBALS['_CFG']['rewrite']); } $args = array('cid' => 0, 'gid' => 0、 '入札' => 0、 '酸' => 0、 '援助' => 0、 'sid' => 0、 'gbid' => 0、 'auid' => 0、 'ソート' => ”、 '注文' => ”、 ); extract(array_merge($args, $params)); $uri = ''; スイッチ ($app) { ケース「カテゴリ」: if (空($cid)) { false を返します。 } それ以外 { if ($rewrite) { $uri = 'カテゴリ-' 。 $cid; if (isset($bid)) { $uri .= '-b' 。 $入札; } 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 .= '-' 。 $ページ; } if (!empty($sort)) { $uri .= '-' 。 $ソート; } if (!empty($order)) { $uri .= '-' 。 $order; } } それ以外 { $uri = 'category.php?id=' 。 $cid; if (!empty($bid)) { $uri .= '&brand=' . $入札; } 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=' . $ページ; } if (!empty($sort)) { $uri .= '&sort=' . $ソート; } if (!empty($order)) { $uri .= '&order=' . $order; } } } 壊す; ケース「商品」: if (空($gid)) { false を返します。 } それ以外 { $uri = $rewrite ? 「DVD-」。 $gid : 'goods.php?id=' 。 $gid; } 壊す; ケース「ブランド」: if (空($bid)) { false を返します。 } それ以外 { if ($rewrite) { $uri = 'ブランド-' 。 $入札; if (isset($cid)) { $uri .= '-c' 。 $cid; } if (!empty($page)) { $uri .= '-' 。 $ページ; } if (!empty($sort)) { $uri .= '-' 。 $ソート; } if (!empty($order)) { $uri .= '-' 。 $order; } } それ以外 { $uri = 'brand.php?id=' 。 $入札; if (!empty($cid)) { $uri .= '&cat=' . $cid; } if (!empty($page)) { $uri .= '&page=' . $ページ; } if (!empty($sort)) { $uri .= '&sort=' . $ソート; } if (!empty($order)) { $uri .= '&order=' . $order; } } } 壊す; ケース「article_cat」: if (空($acid)) { false を返します。 }それ以外 { if ($rewrite) { $uri = 'article_cat-' 。 $酸; if (!empty($page)) { $uri .= '-' 。 $ページ; } if (!empty($sort)) { $uri .= '-' 。 $ソート; } if (!empty($order)) { $uri .= '-' 。 $order; } } それ以外 { $uri = 'article_cat.php?id=' 。 $酸; if (!empty($page)) { $uri .= '&page=' . $ページ; } if (!empty($sort)) { $uri .= '&sort=' . $ソート; } if (!empty($order)) { $uri .= '&order=' . $order; } } } 壊す; ケース「記事」: if (空($aid)) { false を返します。 } それ以外 { $uri = $rewrite ? '記事-' 。 $aid : 'article.php?id=' 。 $援助; } 壊す; ケース「グループ購入」: if (空($gbid)) { false を返します。 } それ以外 { $uri = $rewrite ? 'グループ購入-' 。 $gbid : 'group_buy.php?act=view&id=' 。 $gbid; } 壊す; ケース「オークション」: if (空($auid)) { false を返します。 } それ以外 { $uri = $rewrite ? 「オークション-」。 $auid : 'auction.php?act=view&id=' 。 $auid; } 壊す; ケース「スナッチ」: if (空($sid)) { false を返します。 } それ以外 { $uri = $rewrite ? 「スナッチ~」。 $sid : 'snatch.php?id=' 。 $sid; } 壊す; ケース「検索」: 壊す; デフォルト: false を返します。 壊す; } if ($rewrite) { if ($rewrite == 2 && !empty($append)) { if ($app == '商品') { $uri = urlencode(preg_replace('/[.|/|?|&|+|\|'|"|,]+/', '', $append)).'-'.$uri; }それ以外{ $uri .= '-' 。 urlencode(preg_replace('/[.|/|?|&|+|\|'|"|,]+/', '', $append)); } } $uri .= '.html'; } if (($rewrite == 2) && (strpos(strto lower(EC_CHARSET), 'utf') !== 0)) { $uri = urlencode($uri); } $uri を返します。 } <div class="clear"></div>