2013-02-12 52 views
1

我有很多刪除舊網址:如何htaccess的PHP文件rediect許多標識

viewnews.php?id=1357570020 
viewnews.php?id=1565656889 
viewnews.php?id=7877878768 
viewnews.php?id=7876876876 

我有這樣一個一千網址這樣。我希望所有這些網址都重定向到我的主頁面。他們不存在了。

我想,當有人去這裏mysite.com/viewnews.php?id=(ANY ID)自動轉發到www.mysite.com

我該怎麼做,在htaccess的?我嘗試了很多東西。

Redirect 301 /viewnews.php(.*)$ http://www.mysite.com/ 

任何幫助將不勝感激。

謝謝。

回答

1

使用mod_rewrite您可以使用下面的代碼來處理這個任務:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+viewnews\.php\?id=[^\s]+ [NC] 
RewriteRule^http://%{HTTP_HOST}? [R=301,L] 
+0

嗨,幾乎工作,但它重定向到http://www.wrestleview.com/?id=1358099367而不是wrestleview.com只。 – 2013-02-22 18:10:58

+0

剛編輯我的答案。現在嘗試一下(最後加入'?')。 – anubhava 2013-02-22 18:31:16

0

改爲使用RedirectMatch。參考這個網站:http://www.simonecarletti.com/blog/2009/01/apache-query-string-redirects/

如果需要大規模重定向一組你可能會需要使用RedirectMatch指令頁。

因此,您使用該指令,您需要告訴正則表達式開始「^」以及結束正則表達式「$」的位置。試試這個:

RedirectMatch ^/viewnews.php?id=([0-9]*)$ http://www.mysite.com/ 

拿兩粒藥,早上打電話給我。 :d

+0

我想確切的代碼你給我,它仍然無法正常工作。 – 2013-02-20 16:09:07

+0

這是我正在嘗試的url,應該重定向到主頁面。 http://www.wrestleview.com/viewnews.php?id=1358099903 – 2013-02-21 05:35:24