2011-10-17 28 views
1

我想從我的網站中刪除已被Google編入索引的wiki部分,因此我不想將其刪除,並在刪除頁面時以404的負載結束。我想編寫一個規則,將所有URL的請求頁面重定向到另一個頁面。所以基本上我想將任何包含文件夾名稱/ wiki /的URL重定向到另一個頁面。我有點糊塗了,如果這應該是一個重寫規則:哪個是.htaccess文件中的正確/更好的規則?

RewriteRule ^wiki/* http://www.mydomain.com [R=301,L] 

或RedirectMatch:

RedirectMatch 301 /wiki/(.*) http://www.mydomain.com 

希望得到一些建議上這是正確的/最好的,如果這是應該做的正確方法它。

謝謝。

+0

您不能在'.htaccess'文件中使用'RedirectMatch',這可以多次解決問題。 –

+0

@ÁlvaroG.Vicario你錯了 - 它可以在那裏使用:http://httpd.apache.org/docs/current/mod/mod_alias.html#redirectmatch – LazyOne

+0

@LazyOne:你說得對。我不知道我在混淆它... –

回答

0

他們都會做同樣的工作。 但是這個想法並不好,從SEO的角度來看 - 對於SEO會更好地返回410代碼(410頁 - 頁面在這裏,但不再可用)。

在任何情況下:推薦使用RedirectMatch方法 - 它使用的CPU稍少。另一方面,RewriteRule更靈活。

例如:您的網址類似於example.com/wiki/somepage?say=hello。如果你使用RedirectMatch,那麼新的URL將是example.com/?say=hello - 你可以看到查詢字符串被複制過。使用RewriteRule,你可以很容易地很好地刪除它,所以新的URL將只是example.com/

下面是規則(略優化):

RewriteRule ^wiki/ http://%{HTTP_HOST}/? [R=301,L] 

OR

RedirectMatch 301 ^/wiki/.*$ http://www.mydomain.com/? 

?在兩個規則是用於丟棄現有的查詢字符串。使用RewriteRule時,重定向發生時不會在那裏(mod_rewrite在這方面非常聰明),而RedirectMatch非常直接,並且會保留它(如果您正在尋找真正好的/正確的URL,這可能看起來有點奇怪)

+0

感謝您的反饋意見。很有幫助。 –