必要な URL は 3,000 以上あります301 redirect
。多くの URL で市 / 州の使用を誤って重複させたため、繰り返しが長くなりすぎました。if statements
必要な URLに対して 3,000 以上をプログラムで生成できます301 redirected
。しかし、これはすべてのページの上部に数千行のコードになります。redirects
このアプローチを使用した 3,000 以上の URL からの 3 つの例を次に示します。
if($_SERVER['REQUEST_URI'] == 'central-alabama-community-college-alexander-city-alabama') {
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.website.com/colleges/central-alabama-community-college-alexander-city");
exit;
}
if($_SERVER['REQUEST_URI'] == 'athens-state-university-athens-alabama') {
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.website.com/colleges/athens-state-university-alabama");
exit;
}
if($_SERVER['REQUEST_URI'] == 'auburn-university-auburn-alabama') {
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.website.com/colleges/auburn-university-alabama");
exit;
}
この方法は効果的ですが、悪い習慣ではないかと心配しています。代わりに連想配列を使用する別のアプローチがあります。こんな感じです:
$redirects = array('central-alabama-community-college-alexander-city-alabama' => 'central-alabama-community-college-alexander-city','athens-state-university-athens-alabama' => 'athens-state-university-alabama','auburn-university-auburn-alabama' => 'auburn-university-alabama');
if(array_key_exists($_SERVER["REQUEST_URI"], $redirects)) {
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.website.com/colleges/$redirects[1]");
exit;
}
少し間違っている可能性がありますが、何をすべきかがわかります。これにアプローチする最良の方法は何ですか?.htaccess
それぞれのリダイレクトがどれだけユニークかという理由で、有効に使用できるとは思えません。各 URL に一貫した変数はありません。何かご意見は?