2

codeigniter を使用して PHP サイトを開発していますが、数値 ID の代わりにクリーンな URL を実現する方法について助けてください。

たとえば、 www.site.com/category/view/1 の代わりに、 www.site.com/category/view/automobiles のようなものが必要です

カテゴリ = クラス
ビュー = メソッド
1 = 変数

私の研究
PHP と codeigniter は初めてですが、これまでのところ、これを達成したかったのは、uri->segment(3) を取得し、データベース内の対応する ID について DB をチェックすることでした。そのためには、おそらく一意のカテゴリ名を使用する必要があるでしょう。

私の問題
しかし、私の問題は、カテゴリ名に特殊文字が含まれていたり、文字列にスペースが含まれていたりするとどうなるかということです。スペースをハイフンまたはアンダースコアに変換し、その他の特殊文字を省略したいと思います。取得中に、URI セグメントを元の形式にデコードして、データベースで ID を確認できるようにしたいと考えています。

4

2 に答える 2

1

デコードする必要がないように、ハイフン以外の特殊文字は使用しないでください。説明したように、要件にDBを使用できます。

于 2011-05-20T05:08:37.043 に答える
0

「clean-url」という名前の新しい列をDBに追加してインデックスを付けるだけです。次に、何かの新しいカテゴリを追加するときに、関数を使用して名前からクリーンな URL 文字列を作成します。

function clean_url($string)
{
    return str_replace(array('+', '!', '&'), '_', $string);
}

不要な文字を追加できます。次に、コントローラーで一致する文字列を DB で検索します。

これがWordpressの仕組みです。

于 2011-05-23T09:38:33.590 に答える