2013-08-21 49 views
5

我是新的htaccess。 我更新了一些搜索引擎優化頁面在我的生活網站後一天的一些網址更改來了,所以我又改變了網址。但谷歌已經索引它。所以我想,如果有人發現舊的網址它會重定向到新的網址但在SEO頁面的情況下,只爲其他pages.It意味着它不會影響到任何其他地方。並沒有一個頁面(它是40-50頁)任何人都可以通過htaccess或cakephp給出答案。強行重定向到正確的文件夾

老URL-

www.testenergy.com/test-energy-reviews 

新網址 -

www.testenergy.com/s/test-energy-reviews 

而且還有四種senario-

www.testenergy.com/test-energy-reviews 

www.testenergy.com/Test-Energy-Reviews 

www.testenergy.com/s/test-energy-reviews 

www.testenergy.com/s/Test-Energy-Reviews 

所有這些四個環節將重定向到www.testenergy.com/s/test-energy-reviews只有網址

回答

2

假設你在某處有mod_rewrite規則,你可能想要堅持mod_rewrite。你需要這些在你的文檔根目錄添加到htaccess的文件,最好以上說,還有沒有其他的規則:

RewriteEngine On 

RewriteRule ^/?test-energy-reviews$ /s/test-energy-reviews [L,NC,R=301] 
RewriteRule ^/?s/Test-Energy-Reviews$ /s/test-energy-reviews [L,R=301] 

NC標誌忽略的情況下,所以它涵蓋了/test-energy-reviews/Test-Energy-Reviews。第二條規則需要照顧/s/Test-Energy-Reviews

我不確定爲什麼/s/test-energy-reviews(第3個)是您的場景之一,因爲它正是您想要重定向到的內容之一。

+0

但這是一個示例文件名,就像這樣,我必須寫50頁所有頁面? – Ayesha

+0

@Ayesha除非在所有頁面中都有一個可以用正則表達式封裝的常見模式,否則您將需要爲所有頁面創建規則。 –

+0

第二種情況不起作用。您可以使用其他解決方案嗎? – Ayesha

2

試試這個!

Router::redirect('/test-energy-reviews', 'http://www.testenergy.energy/s/test-energy-reviews'); 
+0

這一個不會忽略大寫字母,你可以提供大寫和小寫的解決方案嗎? – Ayesha

0

在Controller中寫入此行。

/* ** * ** * ** 重定向URL FO小信如果在URL欄 ****/

的preg_match一些一種類型的大寫('/[AZ] + /',$ this-> params-> url,$ upper_case_found);

如果(計數(upper_case_found $)){

//現在重定向到URL較低的情況下,版本

header("HTTP/1.1 301 Moved Permanently"); 
header("Location: " . ROOTPATH.strtolower($this->params->url));die(); 
} 

/* *** 結束碼* ** * **/

或在htaccess中輸入以下代碼: RewriteEngine On

RewriteRule^/?test-energy-reviews $/s/test-energy-reviews [L,NC,R = 301]