0

CodeIgniter で開発された Web サイトがあります。次のように、URL のルートを追加しました。

$route['about_us'] = 'about-us';

今、私はそれに問題があります。つまり、www.mysite.com/about_us という URL を探しているとき、それは機能し、同時に www.mysite.com/about-us も機能しています。アンダースコアのある URL だけを機能させたい。

私はこれを削除しました:

$route['about_us'] = 'about-us';

ただし、www.mysite.com/about-us という URL は引き続き機能します。Google で私のウェブサイトのコンテンツが重複し、より多くのページ リンクも表示される可能性があります。私もその機能を持っていません。www.mysite.com/about_us/design のように。同じく about_us コントローラーのファイル index 関数ではそこしかありませんが、Google でメソッド呼び出しを設計しています。

この問題を解決するにはどうすればよいですか?

4

1 に答える 1

1

ここでは実際にルートは必要ありません。リクエスト ルーティングを使用する通常の目的は、クラス名や関数名でハイフンが許可されていない場合に、ハイフンでつながれた URL を使用できるようにすることです。IE の URL を by にしたいのですが、ハイフンが不正であるため、www.example.com/test-controller実際にコントローラーに名前を付けることはできません。test-controller

次のようなアンダースコア付きの URL のみが必要な場合はwww.mysite.com/about_us、ルートを完全に削除して、コントローラーに名前を付けますabout_us。ルーティング ルールがない場合、ハイフンでつながれた URL は 404 になります。

于 2013-06-14T04:41:42.177 に答える