如何301重定向很多旧链接

时间:2015-12-24 09:34:46

标签: apache .htaccess redirect

12月的第一周,我的公司将他们的新网站上线。现在我们知道我们必须重新定位那些没有重新链接到新网站的旧链接,所以我们做了。

但现在我面临一个让我头疼的新问题。 当我在Google网站管理员工具中查看我损坏的链接时,我每天都会获得大约50个死链接,其中包含以下网址结构:

http://www.example.nl/portfolio/item/client/1

网址末尾的1继续显示10.因此,我必须在我的.htaccess中重定向该特定投资组合项目的10个链接。新的URL结构如下:

http://www.example.nl/portfolio/client

现在我的.htaccess已经有大约300-400 301次重定向,但感觉我在这里做错了。

这里有没有人有更有效的方法来获取我的重定向链接?

2 个答案:

答案 0 :(得分:1)

在文档根目录中的.htaccess文件中尝试以下操作,并带有其他重定向:

RewriteRule ^(portfolio)/item/([-a-z]+)/\d+ /$1/$2 [R=302,L]

这会将/portfolio/item/<client>/<num>重定向到/portfolio/<client><client><num>的变量。它还假设<client>只包含小写字母az和连字符(-)。

我假设您已经在使用mod_rewrite(即RewriteRule)进行其他重定向。 (不建议混合mod_alias(即。RedirectRedirectMatch)和mod_rewrite重定向。)

当您确定它正常工作时,将302(临时)更改为301(永久)。

答案 1 :(得分:0)

根据您的网址结构重定向的最佳方法需要使用htaccess重定向中的Reg表达式

RedirectMatch 301 ^/item/.* http://www.example.nl/portfolio/