0

のようにプロファイル名を書きたいwww.example.com/profilename

このためcontroller、自分のプロファイルにないすべての名前をリダイレクトすることを考えましたcontroller。次のコードを使用しました

$route['(![abc])'] = "profile/$1";

しかし、これは役に立たないようです。

4

2 に答える 2

2

この場合、コントローラーにルーティングし、他のすべてをプロファイルにリダイレクトするルールを明示的に作成する必要があります。

$controllers = array('profile','signup','...');

foreach($controllers as $controller) {
    $route[$controller] = $controller."/index";
    $route[$controller."/(:any)"] = $controller."/$1";
}

$route['(:any)'] = "profile/$1";
于 2012-12-29T17:47:06.750 に答える
1

良い、

この種のルーティングでは、ほとんどすべてがプロファイル コントローラーに送られることを理解する必要があります。あなたができることは、次の手順です。最初に行う必要があるのは、すべてをプロファイル コントローラーにルーティングしてから、一部のルートを他のコントローラーにリセットすることです。このような:

*/
Route to profile if there only characters in the request. 
When it has special characters in it will be passed.
*/
$route['([a-z]+)/(:any)'] = 'profile/?profile=$1';

// Now make sure other controllers can be called too
$route['other/(:any)'] = 'other/$1';

// And another controller.. etc.
$route['etc/(:any)'] = 'etc/$1';

何を作っているのか正確にはわかりませんが、ルートの使い方が少し悪いです。コミュニティ中心またはソーシャル メディア プラットフォームのように作成している場合のみ。私は確かにそれを理解しています。

于 2012-12-29T11:21:58.543 に答える