ルーターを使用した動的 HTML リダイレクト
最初はカテゴリがなく、すべてのページがルートでした
例:
http://domain/somepage
これは素晴らしいことでしたが、長年にわたってコンテンツが成長したため、コンテンツを分類する必要があります
だから私はいくつかのルートを追加しました//routes.php以下を参照してください
Router::connect(
"/:category/:slug",
array('controller' => 'controllername', 'action' => 'view'),
array(
'name'=>'[-A-Z0-9]+',
'pass' => array('category','slug')
)
);
//end これはうまく機能し、必要なことを達成しましたが、検索エンジンに 1 つの問題があります。すべてのリンクに対して 301 を記述する必要があり、8K を超えるページがあります。
ソリューション Cakesphp の Router::redirect
私が今抱えている問題は、古いリンクをリダイレクトする方法がわからないことです。たとえば、すべてのリンクを 1 つのカテゴリにリダイレクトすることはできますが、それではうまくいきません。すべてのリンクを新しい場所にリダイレクトする必要があります。
routes.php ルーター :: リダイレクトを使用しようとしています
これを行うと、コードはカテゴリにリダイレクトされますが、スラッグにはリダイレクトされません
Router::redirect(
'/:slug/*',
array(
'pass' => array('category/:slug'))
結果
http://domain/category/
ケーキをリダイレクトするにはどうすればよいですか
http://domain/category/slug ?
instead of http://domain/category/
すべてのリンクがルート ディレクトリを指していました
http://domain/somepage
http://domain/anotherpage
http://domain/ect
カテゴリを追加する必要がありました
そのような
`
http://domain.com/phones/samsung.php
http://domain.com/books/cakephp.php
`
.htaccees ファイルを使いたくなかったので
私のホスティングプロバイダーは、100回のリダイレクトに制限しています
リダイレクトする必要がある 8,000 を超えるリンクがあります
routes.php ファイルで cakes router ::redirect 関数を使用しようとしています。
以下のコードは 1 つのカテゴリに対してのみ機能し、私が望むように動的には機能しません。あなたが提案したように、これを行うルータークラスを作成しようとしましたが、正直なところ、私はcakephpの専門家ではありません。簡単に習得でき、優れたフレームワークです。独自のクラスやコンポーネントを作成する方法がまだわかりません。これを行うための適切なドキュメントがまだ見つかりません。
//routes.php
$move='category/'. stripslashes_deep ($_SERVER['REQUEST_URI']); Router::redirect('/:slug/*',$move, array('status' => 302)); code