0

自分の codeigniter サイトにロケーション ページを作成したいと考えています。そのため、場所とインデックス メソッドという名前のコントローラーが 1 つあります。したがって、すべてのリクエストhttp://mysite.com/location_nameはhttp://mysite.com/index.php/locations/indexに到達する必要があります。そして、 http://mysite.com/login が http://mysite.com/index.php/home/login に着陸するように、他のすべてが機能するはずです。お問い合わせhttp://mysite.com/contact-usは、 http://mysite.com/index.php/home/contactにランディングする必要があります。

次のラインルートルール(route.php)を書くことでこれを達成しようとしました:

$route['(:any)'] = 'locations';  //location name can be anything around the world

そのため、場所は正常に機能していますが、 http : //mysite.com/loginとhttp://mysite.com/contact-usは機能しておらず、無限ループで継続的にリダイレクトされています。

解決策を提案してください。感謝。

4

1 に答える 1

0

ルートは上から下に適用されるため、より具体的なルールを最初にリストし、次に一般的なルールを最後にリストする必要があります。

$route['login'] = 'home/login';
$route['contact-us'] = 'home/contact';
$route['(:any)'] = 'location/index';

ルート ファイル内のルールの順序を変更しようとしたとおっしゃっていました。したがって、これを実行しても機能しない場合は、何か他のことが起こっています。

私はこれらのことをチェックします:

  • .htaccess ファイル (使用している場合)
  • 無限ループを引き起こしているコントローラー (そこにあるリダイレクト、_remapメソッドなど)
于 2013-02-25T15:26:29.537 に答える