0

CodeIgniterで歌詞のウェブサイトを再作成する予定です。現時点では、私がそれを設定する方法は次のようになっています:
example.com/artistnameそしてexample.com/anotherartist

私も持っexample.com/contactているexample.com/requestなど。

私はそれを取得することができますがexample.com/artist/artistname、ユーザーがURLを覚えやすいようにシンプルにしたいと思います。

誰かがこれで私を助けることができますか?

ありがとう、Maikel

4

2 に答える 2

3

試しapplication/config/routes.phpてみる:

$route['contact'] = 'contact'; // /contact to contact controller
$route['request'] = 'request'; // /request to request controller
$route['(.*)'] = 'artist/display/$1'; // anything to artist controller, display method with the string as parameter
于 2010-09-13T00:51:23.797 に答える
0

こちらの CodeIgniter ユーザーガイドから: http://codeigniter.com/user_guide/general/routing.html

何でも ( :any)artistコントローラーに再マップできます。そこからcontactrequest、 などをそれぞれのコントローラー/関数に再マップするか、コンストラクターを使用してそれらをチェックし、正しい関数を呼び出すことができます。例:

URI ルーティングの使用:

$route['contact'] = "contact";
$route['request'] = "request";
... // etc...
$route['(:any)'] = "artist/lookup/$1"; // MUST be last, or contact and request will be routed as artists.

コンストラクターの使用:

public function __construct($uri) {
    if ($uri == "contact") {
        redirect('contact');
    } elseif ($uri == "request") {
        redirect('request');
    }
}

ただし、この方法では無限ループが発生する可能性があります。あなたcontactrequest関数が同じコントローラーにない限り、私はそれをお勧めしません。$this->contact()次に、リダイレクトと一緒に、または$this->request()リダイレクトの代わりにそれらを呼び出すことができます。

于 2010-09-13T00:52:32.470 に答える