2016-11-03 2 views
0

ローカルのXamppサーバーでYii Frameworkを使用しているPHPスクリプトをインストールしました。このURLを変更するにはhttp://localhost/magicweb/home/shop/client-name-1http://localhost/magicweb/client-name-1に変更しますか? .htaccessでこれを行う簡単な方法はありますか、Yiiコントローラを使ってこれを行う必要がありますか?私はPHPとyiiのフレームワークには非常に新しいです。Yii FrameworkでURLを短くするにはどうすればいいですか?

+0

はlocalhost/magicweb /スターバックスは、localhost/magicweb/MC-ドナルズによってベンダーのページを取得したり、ローカルホスト/ magicweb /バーガーキングます

public static function getSlug($string) { //remove any '-' from the string they will be used as concatonater $str = str_replace('-', ' ', $string); $str = self::removeAccent($string); // remove any duplicate white, and ensure all characters are alphanumeric $str = preg_replace(array('/\s+/', '/[^A-Za-z0-9\-]/'), array('-', ''), $str); // lowercase and trim $str = trim(strtolower($str)); return $str; } 

をアプリケーション全体で使用する一連のURLパターンを構築する必要があります。 Yii UrlManagerには既に "controller-name/action-name"のパターンがあります。それがあなたに合っていない場合は、UrlManagerをカスタマイズすることが役に立ちます。それが十分明確でない場合は、私に知らせてください。 – Klaus

+0

いくつかの例はどこにありますか?あなたの助けをありがとう – Marsel

+0

ここを参照することができます http://www.yiiframework.com/doc/guide/1.1/en/topics.url – Klaus

答えて

1
  1. 使用スラグ

上記の拡張機能は、あなたのビジネスのベンダーテーブルの「スラッグ」欄(お店、私は仮定)を追加し、レコードが作成または更新されるたびに列を更新します。あなたはベンダーの情報を表示するためにURLの一意のIDとして "スラグ"列を使用します。例:/ mc-donalds、/ starbucks、/ burger-kingなどです。次のように

  • は、既存のルールの前に、main.phpであなたのUrlManagerの設定でURLルールを追加します。
    '<slug:[-a-zA-Z]+>' => 'vendor/view', 
    

    上記のルールます"ベンダー"コントローラと "view"アクションを指し、アクションでは、urlから得られるスラッグパラメータを指定し、このスラッグを使用して "ショップ"レコードを照会し、その情報を表示して表示します。

    あなたはslugify機能必要があります:あなたは

  • 関連する問題