1

我删除了许多旧网址:

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

我有一千个这样的网址。我希望将所有这些 URL 重定向到我的主页。它们不再存在。

我希望当有人访问 mysite.com/viewnews.php?id=(ANY ID HERE) 时自动转发到 www.mysite.com

我如何在 htaccess 中做到这一点?我已经尝试了很多东西。

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

任何帮助将不胜感激。

谢谢。

4

2 回答 2

1

使用 mod_rewrite 您可以使用以下代码来处理此任务:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+viewnews\.php\?id=[^\s]+ [NC]
RewriteRule ^ http://%{HTTP_HOST}? [R=301,L]
于 2013-02-22T17:18:42.940 回答
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

于 2013-02-12T06:18:31.183 回答