2016-08-01 13 views
0

私はCodeIgniter 3.1のカスタマイズされたWebサイトで静的コンテンツと動的コンテンツを混在させようとしています。CodeIgniterで静的ページと動的ページを混在させる

$route['default_controller'] = 'pages/view'; 
$route['(:any)'] = 'pages/view/$1'; 

以来、私は、これは目的のために、非常に厄介だろう怖い(::いずれかが)あまりにも一般的なもので、私は何かを使用したくない私は、静的なコンテンツのために与えられたチュートリアルの例を使用しています"/static/(:any)"ルートのように。

友好的なURLという名前の静的なコントローラを持つソリューションを実現する方法についてのご意見はありますか?

すべてのアイデアは大歓迎であり、非常に感謝しています。


私の質問を理解することは困難であると考えられるように、私は再びそれをお願いしてみましょう:

を(CodeIgniterのチュートリアルから)上記のコードで静的なコンテンツを結合する方法はありますし、通常のアプローチhttp://example.com/controller/index_named_method動的コンテンツの処理?

例を挙げることができますか?

すべての静的ウェブページの名前( $route['(home|contact|links)'])に対して$route['(:any)']を変更する必要がありますか?

ありがとうございます。

+0

残りのチュートリアルを読んで理解しましたか?賢明にしようとはしませんが、残りのチュートリアルの部分では動的コンテンツについて語ります。つまり、私は提示された静的ページの概念を使用しません。代わりに、私は単純に、すべてのページに対して直感的な 'http://example.com/ [controller-class]/[controller-method]/[arguments]'を使用します。そうすることで、一連のルートを定義する必要がなくなります。 – DFriend

+0

確かに、あなたは完全に正しいと私のアプローチですが、一様に保つためにhttp://example.com/[controller-class]/を維持するための方法としてインデックスを使用したい場合はどうなりますか、エレガントでフレンドリーなURLサイト? できませんか? – eisenseinstein

+0

私はあなたの質問を理解したら、はい。ルート '$ route ['default_controller'] = 'home';'は、コントローラHome.phpを 'http:// example.com'にマップします。 Home.phpにはインデックスメソッドが必要です。それが本当に必要な唯一のルートです。 'http:// example.com/some_controller'に対する他の要求は' some_controller'のインデックス関数を呼び出します。したがって、明らかに 'index()'を定義する必要があります。 – DFriend

答えて

1

さて、私は自分自身で答えを得たと言わなければなりません。へ

$route['(books|flowers|links)'] = '$1';

ありがとう:私の以前の記事編集に言ったように、あなたのコントローラはチュートリアルの例を利用することでindex()方法を使用して、静的および動的なコンテンツを混合すると、このようにすべてのあなたのコントローラ名を持つルートを追加し、達成することができます助けてくれた人。

関連する問題