Yii フレームワークを使用して Web ページを開発しており、Facebook のような URL 管理を行いたいと考えています。これは私の URL www.mywebpage.com/user/profile/id/10ですが、この URL をこのように表示したくありません。www.mywebpage.com/ yogiのように表示したいのですが、Yii で実行できますか? 誰か助けてください。
2 に答える
開始するには、この記事をチェックしてください:http: //yiitutorials.net/easy/easy-url-rewriting-with-yii
基本的に、ユーザーのカスタムURLをデータベースに保存します。したがって、URLの例はhttp://example.com/user/userurlになります。
メインの設定で、次のようなルールを設定できます。
user/<customurl:.+> => 'user/view' //second part is the controller/action
このルールは、「http://example.com/user/」のURL、スラッシュの後の部分に「customurl」という名前のGET変数からアクセスできることを定義しています。次に、次のようにユーザーのカスタムURLにアクセスできます。
$_GET['customurl'];
そして、次のようなユーザーレコードをクエリします。
$user = User::model()->find("customurl = '".$_GET['customurl']."'");
以下に説明するように、これは実際のWebサイトからの例です。この例では、URLは次のようになっています。http : //website.com/blog/ {post_title} / {post_id}
したがって、これのルールは次のようになります。
london-blog/<post_title:.+>/<post_url:.+> => 'blog/viewpost'
したがって、ブログコントローラーには、viewpostというアクションがあります(上記のルールがこのコントローラー/アクションをどのように指しているかを参照してください)。これは次のようになります。
public function actionViewpost(){
$blogpost = Blog::model()->find("post_title = '".$_GET['post_title']."'");
...
}
したがって、london-blog / some_value / some_valueの形式のURLはすべて、構成で指定されているコントローラーアクションを指します。次に、構成で定義された変数名(<:。+>のビット)を使用してsome_value部分にアクセスできます。
お役に立てば幸いです。
必要な情報はすべてここにあると思います: http://www.yiiframework.com/doc/guide/1.1/en/topics.url