2010-03-02 40 views
28

我找不到直接的答案我的問題,需要從真正的專家知道它。重定向404錯誤與.htaccess通過301搜索引擎優化等

我有一個網站,其中的網站是由Joomla生成的。我相信搜索引擎中有大量的網址,我真的不知道它們中的哪一個。 302重定向將是一個選項,但我不能說哪些網址需要重定向。

我唯一知道的是,所有的網址都是由sef404腳本生成的,它是Joomla的SEO腳本。

我的問題是:如何確保Google和其他搜索引擎上的所有孤兒網址都能正確傳送.htaccess文件?

我如何301重定向所有的404個頁面主頁(根文件)

在我使用自定義404.html錯誤文件的時刻,但也有太多的文件,並會給出一個過山車你需要知道一些關於網址的自定義404錯誤頁面

回答

35

,像他們有一個特定的目錄或一些查詢字符串元素,因爲你必須匹配的東西。否則,你將不得不對404重定向如果這是需要什麼,然後做這樣的事情在你的.htaccess:所以你不能使用www.mydomain

ErrorDocument 404 /index.php 

一個錯誤頁面重定向必須是相對於根。 COM。

如果您有一個匹配模式,則使用301而不是302,因爲301是永久性的,302是臨時性的。 301會從搜索引擎中刪除舊的網址,而302則不會。

現代重寫參考:http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html

+5

減,因爲這不是一個重定向 – TheBlackBenzKid 2015-09-03 09:40:53

38

我想出瞭解決方案,並張貼在我的博客

http://web.archive.org/web/2013031/http://onlinemarketingexperts.com.au/2013/01/how-to-permanently-redirect-301-all-404-missing-pages-in-htaccess/

這裏是htaccess的代碼也

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ./[L,R=301] 

,但我張貼我的博客上也有其他解決方案,這取決於你真正需要什麼

+1

這將重定向301 ALL 404頁,以你喜歡的地方,在以前的解決方案是一個302 – andrew 2013-01-13 23:49:18

+2

這應該是答案,因爲對方的回答僅僅是一個重寫,而不是重定向+1 – TheBlackBenzKid 2015-09-03 09:40:44

+1

誰想要知道,爲什麼這個工程,我做了(https://httpd.apache.org/docs/2.2/mod/mod_rewrite.html):第一行變爲RewriteEngine敘述上,第二行設置的條件爲第三行,確保它是一個不存在的文件,並傳遞所請求的文件名(使用服務器變量(%{})),第三線相匹配的一切,與根文件夾來替換它,並設置兩個標記,所述第一(L),以停止任何更多重寫規則被應用,第二個(R = 301)使用錯誤代碼301強制外部重定向。 – Andrew 2015-10-31 23:56:12