0

CakePHP のページネーター ヘルパーを変更して、最初のページ リンクをページなしで出力するようにしました。次に例を示します。

myexample.com/controller/action/id/page:1 myexample.com/controller/action/id/ になり、それ以外のページ page:1 は通常どおりになります。

この時点で、すべてが正常に機能しています。しかし、myexample.com/controller/action/id/page: 1はそのままアクセスできることに気付きました。page:1なしでアクセスする必要があると思います。以下は、config/routes.php で使用するルート ルールです。

Router::connect('/action/:id/:page', array('controller' => 'controller', 'action' => 'action'), array('id' =>'[0-9]+', 'page' => 1, 'pass' => array('id')));

page:1を削除してアクセス可能にする方法を知る必要があります。または、この状況が SEO の問題を引き起こすため、action/id に自動リダイレクトする方法を知る必要があります。

注意: 私は CakePHP 1.2.10 を使用しています

.htaccess を含むソリューションも歓迎します。

4

2 に答える 2

2

page:1 が 1.x/2.x で間違ってルーティングされないようにする場合は、通常、別のルートを使用してこれをカバーします。

Router::connect('/kuechen/alle', array('controller'=>'kitchens', 'action'=>'index_all'));
Router::connect('/kuechen/alle', array('controller'=>'kitchens', 'action'=>'index_all', 'page'=>1));
Router::connect('/kuechen/alle/*', array('controller'=>'kitchens', 'action'=>'index_all'));

2番目のものに注意してください。

次に、canonical タグを使用して、page:1 のない /index/ を正規 URL にします。終わり。

于 2013-04-22T14:45:44.957 に答える