2014-07-14 71 views
0

由於網站重構了一些舊的網址,因此仍然在Google上編入索引。 我想重寫舊的URL到新的,但它是不可能的,因爲內容是不同的。.htaccess 404錯誤正則表達式

舊網址的都是這種格式:www.mydomain /配件/ a_test.html 要重寫,我想出了這個解決方案,部分做什麼,我想:

RewriteRule ^accessories/(.*)\.html$ error.php [L] 

不過,我需要服務一個404頭,這樣Google就會知道該頁面不再存在。我嘗試過:

RewriteRule ^accessories/(.*)\.html$ error.php [R=404, L] 

但這會導致內部服務器錯誤。 任何想法?

回答

1

你有一個流浪的空間你重寫標誌:

RewriteRule ^accessories/(.*)\.html$ error.php [R=404,L] 
0

要發送您可以使用此重寫規則右右頭:

RewriteEngine On 

RewriteRule ^accessories/(.*)\.html$ error.php [R=404,L] 

後R沒有足夠的空間= 404

然而,這將只發送正確的HTTP狀態代碼,不因error.php內容。

要顯示來自error.php內容以及發送正確的HTTP狀態代碼做到這一點的方法:

RewriteEngine On 
RewriteRule ^accessories/(.*)\.html$ error.php [L] 

而且裏面error.php使用這個PHP電話:

<?php 
    http_response_code(404); 
?>