将所有动态URL从旧站点重定向到单个静态URL

时间:2010-05-03 18:37:11

标签: mod-rewrite url-rewriting

几年前我们有一个旧的coldfusion网站,最近我发现有一些旧的链接仍然存在,导致404错误。我不知道任何页面上有什么,我只是想将它们重定向到一个新的静态页面。我们的新网站是一个启用了SEF网址的Joomla 1.5网站。

旧网址如下所示:http://www.example.com/content.cfm?id=2010其中网址之间的唯一区别是id=之后的数字。 我想将以content.cfm开头的任何网址重定向到静态网页http://www.example.com/oops-thats-an-old-page,其中列出了一些有用的链接,可以找到他们要查找的内容。

我使用.htaccess文件中的以下代码成功完成了此操作:

RewriteCond %{QUERY_STRING} id=
RewriteRule (.*) http://www.example.com/$1? [R=301]
RewriteRule ^content\.cfm$ /oops-thats-an-old-page [R=301,L]

我是重新编写网址的新手,我不确定这是最好的方法。我也担心它可能会制造我不知道的非sef joomla URL,因为它们中也包含id=

我是否可以根据是否以content.cfm开头进行重写?

1 个答案:

答案 0 :(得分:0)

当查询包含id=时,将应用第一条规则。如果您不希望这样,而只是在请求包含/content.cfm的查询的id=时重定向,请尝试以下规则:

RewriteCond %{QUERY_STRING} id=
RewriteRule ^content\.cfm$ /oops-thats-an-old-page? [R=301,L]