1

製品ページにURLのこのプロトタイプがあるWebページを作成しました

http://www.example.com/products/show/some-really-nice-product/512

URL の最後のビットは製品 ID であり、データベースで製品を検索するという唯一の目的を果たします。

しかし、ルーティングを使用してその部分を非表示にし、ID で製品を検索することは可能ですか?

http://www.example.com/products/show/some-really-nice-product/のように ??

ありがとうございました

4

2 に答える 2

2

URL に番号を入れたくない場合は、後で番号/ID で検索することはできません :)

したがって、VARCHAR フィールドをテーブルに追加し、「urlized」と言って、指定された ID のコンテンツとして「some-really-nice-product」を使用できます (すべての製品名を「urlize」して作成する必要があります)。個性的)。新しいフィールドにインデックスを付けることを忘れないでください...

次に、非常に SEO に適した次の URL (「.html」で終わる) を使用して製品ページにアクセスできます。

http://www.example.com/products/show/some-really-nice-product.html

...コードイグナイターにルートを追加することにより、どういうわけか次のようになります。

$route['^products/show/(.*).html'] = 'products/show/$1';

コントローラー/モデルで、ID の代わりに「show」メソッドに渡される文字列をデータベースで検索します。

于 2013-04-13T19:27:14.470 に答える
1

IDを非表示にすると、URLからそれを取得できなくなります

とにかくそれを隠したい場合は、次のようにします。

$route['products/show/(:any)'] = "products/show/$1/$2";
于 2013-04-13T12:31:31.063 に答える