有超過3000的URL我必須301 redirect
。我無意中在很多URL中重複使用了城市/州,這使得它們重複且時間過長。我可以以編程方式生成超過3000個if statements
的URL,它需要爲301 redirected
。但是,這將會是每一頁頂部的數千行代碼。以下是使用此方法的3000多個網址中的3個示例redirects
。PHP 301重定向 - 3000動態URL的
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
,因爲每個重定向有多獨特。每個網址都沒有一致的變量。有什麼想法嗎?
感謝DAJ。你知道,如果這從SEO的角度來看可接受的做法?我擔心這樣做超過3000個URL是由谷歌/ SERPS皺起了眉頭。 – Graham 2013-02-25 07:21:49
這是完全可以接受的,只要這些重定向是永久的(如301所示),並且您將用戶重定向到規範地址。 – Dai 2013-02-25 07:22:59
要說清楚,你的意思是在每頁的
中都有這樣的東西嗎? *** <鏈路的rel = 「規範」 HREF = 「http://www.website.com/colleges/central-alabama-community-college-alexander-city」/> – Graham 2013-02-25 07:25:33