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

Mod rewrite 将所有动态url从旧站点重定向到单个静态url,mod-rewrite,url-rewriting,Mod Rewrite,Url Rewriting,几年前我们有一个旧的coldfusion网站,我最近意识到有一些旧的链接仍然在浮动,导致404错误。我不知道任何页面上都有什么,我只想将它们重定向到一个新的静态页面。我们的新站点是Joomla 1.5站点,打开了SEF URL 旧的URL如下所示:http://www.example.com/content.cfm?id=2010 其中URL之间的唯一区别是id=后面的数字。 我想将任何以content.cfm开头的URL重定向到静态页面的http://www.example.com/oops-

几年前我们有一个旧的coldfusion网站,我最近意识到有一些旧的链接仍然在浮动,导致404错误。我不知道任何页面上都有什么,我只想将它们重定向到一个新的静态页面。我们的新站点是Joomla 1.5站点,打开了SEF URL

旧的URL如下所示:http://www.example.com/content.cfm?id=2010 其中URL之间的唯一区别是id=后面的数字。 我想将任何以content.cfm开头的URL重定向到静态页面的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]
我对重写URL还不熟悉,我不确定这是最好的方法。我还担心它可能会阻止我不知道的非sef joomla URL,因为它们也有id=


我是否可以将重写设置为以content.cfm开头为条件?

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

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