-1

Web サイトの URL が正しく表示されないという問題があります。Codeigniter の最新バージョンを使用しています。

以下のエラーメッセージが表示されます。私はいくつかの調査を行っていましたが、私の問題は URI セグメントにあると思いますが、問題を解決する方法について当惑しています。

私の目標は、このように見栄えのする URL を取得することです (_states は、私のローカルホストのサブディレクトリ フォルダーです) mydomain.com/_states/dealers/Florida (この URL は実際に機能します) mydomain.com/_states/dealers/Florida/Miami (そうではありません) mydomain.com/_states/dealers/Florida/Miami/8 (動作していません)

また、routes.php と model_data.php の構文も提供しました。皆さんなら、この問題をどのように解決しますか? よろしくお願いします。

A PHP Error was encountered

Severity: Warning

Message: Missing argument 2 for Site::getDealersCity()

Filename: controllers/site.php

Line Number: 43

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: city

Filename: controllers/site.php

Line Number: 47

サイト コントローラー

   public function getDealersCity($state, $city){
     //$city = $this->uri->segment(3);
     //echo "$city";
     if(is_null($state)) return false;
     if(is_null($city)) return false;
     $this->load->model('model_data');
     $data['statecity'] = $this->model_data->get_database_by_cities($state,$city);
     $this->load->view('statecity',$data);
   }

Model_data.php 関数

function get_database_by_cities($state, $city){
    $query = $this->db->get_where('states',
    array('state' => $state,
    'city' => $city)
    );
    if($query->num_rows()) return $query->result();
    return null;
}

Routes.php

$route['default_controller'] = "site";
$route['dealers/(:any)/(:any)'] = "site/getUniqueDealerInfo/$3";
$route['dealers/(:any)/(:any)'] = "site/getDealersCity/$2";
$route['dealers/(:any)'] = "site/getCities/$1";
$route['404_override'] = '';
4

1 に答える 1

2
$route['dealers/(:any)/(:any)'] = "site/getUniqueDealerInfo/$3";
$route['dealers/(:any)/(:any)'] = "site/getDealersCity/$2";

ルートは本質的に競合しており、1 つのルートが他のルートをオーバーライドします。

使ってみて

$route['dealers/(:any)/(:any)'] = "site/getDealersCity/$1/$2";

そして、機能はありません

getUniqueDealerInfo

こちらの回答をご覧ください同様の質問

于 2013-06-04T18:10:24.520 に答える