1

ルートエンジンはCakePHPで非常に便利だと思います。ドキュメントには、バニラインストールに存在する2つを参照して、「デフォルトルートを無効にする」方法の概要が説明されています(1つはホームページ表示用、もう1つは/pagesパス)。

ただし、これらを無効にしても、他のルートが無効になるようには見えません。たとえば、Post モデルは/posts/posts/view/1などから引き続きアクセスできますが、これらのデフォルト ビューをすべてパブリックから非表示にして、選択したルートで特定のコンテンツのみを表示できるようにしたいと考えていました。

私の構成がデフォルト ルートをオンのままにしておくと、検索エンジンは同じコンテンツの 2 つのページをインデックスに登録できますか? そうでない場合でも、一般の人がページのコア ルートを見つけ出し、非公開の、まだアクセス可能な URL を介してアクセスできるという考えは、私はまだあまり好きではありません。

4

2 に答える 2

3

正しく理解できたら、requirefromを削除しますAPP/routes.php(Cake 2.xのみ)

/**
 * Load the CakePHP default routes. Remove this if you do not want to use
 * the built-in default routes.
 */
    //require CAKE . 'Config' . DS . 'routes.php';

他のすべてのルートを完全にカスタマイズしたと仮定して、デフォルトルートを無効にします。

于 2012-09-05T08:10:43.723 に答える
0

検索エンジンとユーザーが表示したくないコンテンツを表示しないようにするための最良の、最も適切で堅牢なソリューションは、保護したいコントローラーとアクションへのアクセスをブロックすることです。

アクセスしたくない場合は/posts/view、メソッドをプライベートにするか、メソッドを削除します。特定のユーザーだけがアクセスできるようにする場合は、アクションの前に(おそらくbeforeFilterで)承認と認証を確認する必要があります。

于 2012-09-05T00:19:41.153 に答える