2

CIユーザーガイドとStackoverflowでも問題の解決策を検索しましたが、見つかりませんでした。だから、ここに私の問題があります。

SEOに適したURLを作成する必要があります。「Outlets」というコントローラーがあり、生成する必要のあるビューはhttp://www.mysite.com/[city]/[area]/[outlet-name]のようなURL構造になります。

セグメントcityおよびareaはそれぞれのテーブルのフィールドであり、outlet_nameはテーブル「Outlets」のフィールドです。

http://www.mysite.com/outlets/123のようなURLを生成できますが、都市と地域の名前をURLに追加するにはどうすればよいですか。

4

2 に答える 2

3

すべてのページで同じコントローラーを使用している場合は、config/routes.phpにこれを追加します...

$route['(:any)/(:any)/(:any)'] = "outlets/$1/$2/$3";
$route['(:any)/(:any)/(:any)/(:any)'] = "outlets/$1/$2/$3/$4"; // fixed typo

コントローラーでは、Codeigniterが都市の名前を持つ関数を探し、それらが存在しないため、関数呼び出しを再マップする必要があります。

http://codeigniter.com/user_guide/general/controllers.html#remapping

public function _remap($city, $area, $outlet, $options = '')
{
  $this->some_function_below($city, $area, $outlet, $options);
}
于 2012-06-07T20:03:47.603 に答える
0

別の代替ソリューション。

URIセグメントを使用できます。http://www.mysite.com/[city]/[area]/[outlet-name]のようなURLの場合

<?php

$this->uri->segment(3);  // city
$this->uri->segment(4);  // area
$this->uri->segment(5);  // outlet-name

?>

など...詳細については、 http://codeigniter.com/user_guide/libraries/uri.htmlを参照してください。

于 2012-06-07T20:53:13.267 に答える