のようにプロファイル名を書きたいwww.example.com/profilename
このためcontroller
、自分のプロファイルにないすべての名前をリダイレクトすることを考えましたcontroller
。次のコードを使用しました
$route['(![abc])'] = "profile/$1";
しかし、これは役に立たないようです。
のようにプロファイル名を書きたいwww.example.com/profilename
このためcontroller
、自分のプロファイルにないすべての名前をリダイレクトすることを考えましたcontroller
。次のコードを使用しました
$route['(![abc])'] = "profile/$1";
しかし、これは役に立たないようです。
この場合、コントローラーにルーティングし、他のすべてをプロファイルにリダイレクトするルールを明示的に作成する必要があります。
$controllers = array('profile','signup','...');
foreach($controllers as $controller) {
$route[$controller] = $controller."/index";
$route[$controller."/(:any)"] = $controller."/$1";
}
$route['(:any)'] = "profile/$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';
何を作っているのか正確にはわかりませんが、ルートの使い方が少し悪いです。コミュニティ中心またはソーシャル メディア プラットフォームのように作成している場合のみ。私は確かにそれを理解しています。