0

このカテゴリのURLがwebsite.com/category/view/honda-red-carであるページがあり、 http: //website.com/honda-red-carnohtmlまたはphpと言って削除したいだけです。 URLのカテゴリビュー..このWebサイトは、CodeIgniterフレームワークを使用して作成されています。

また、この製品ビューのURLwebsite.com/product/details/13/honda-accord-red-carそして私はそれをwebsite.com/honda-accord-red-carにしたいです助けてください!!!

間違っていることについて正しい指示が見つかりませんか?

4

2 に答える 2

2

Routes.php では、そのようなものを作成する必要があります

$route['mycar'] = "controller_name/function_name";

したがって、あなたの例では次のようになります。

$route['honda-red-car] = "category/view/honda-red-car";

于 2013-02-13T16:40:26.640 に答える
2

ユーザー ガイドのURI ルーティングの部分を参照してください。

ルーティングしたい URL の具体的なセットがある場合は、にルールを追加するapplication/config/routes.phpことで、目的を達成できるはずです。

一般的な解決策が必要な場合 (任意の uri セグメントをproduct/detailsページにすることができます)、他のすべての URL をroutes.php構成ファイルに明示的に追加し、キャッチオール ルールを設定して、他のすべてを適切なコントローラー/メソッドにルーティングする必要があります。404 URL も忘れずに処理してください。

例:が何か特別なもので、この 1 つだけを内部的にリダイレクトしたい場合は、次のように記述します
/honda-red-car

$routes['honda-red-car'] = 'product/details/13/honda-accord-red-car';

文字列で始まるすべてを一般化する場合は、次のhonda-ようにします。

$routes['(honda-.*)'] = 'product/details_by_slug/$1'; // imaginary endpoint

これらのルールはpreg_replace()、キーをパターンとして渡し、値を置換文字列として渡す呼び出し内で使用されるため、()キャプチャ グループ$1用であり、キャプチャ パーツを配置します。

パターンが一般的すぎると、入ってくるすべてのリクエストをキャッチする可能性があるため、パターンには注意してください。

$routes['(.*)'] = 'product/details_by_slug/$1';

それは確かにどのような車の名前でsuzuki-swift-carも機能しますが、通常のルート URL またはproduct/details/42リクエストもキャッチします。

これらのルールは上から下に評価されるため、最初に特定のルールから始めて、ファイルの最後に一般的なルールを残します。

于 2013-02-13T07:47:35.370 に答える