如果你有大量的redirect来实现,是否有一种方式来编写更清晰的重写规则

我recentley完成了一个项目,我把一个漂亮的大网站移动到一个漂亮干净的小型网站。 这意味着我必须对大量被search引擎编入索引的页面进行说明,并使用301 Redirects将它们适当地redirect到新网站上的相关页面。

有超过300个唯一的url,我必须redirect。 我使用apache mod_rewrite模块来实现redirect,因为大部分的URL都包含你的标准Redirect语句不能读取的GET parameters

所以例如我有这样的url:

HTTPS://olddomain/product.html PROD_ID = 143&ID = 234

和一个像这样的redirect:

 RewriteCond %{QUERY_STRING} prod_id=143&id=234$ RewriteRule ^product\.html$ /products/product-a? [L,R=301] 

几乎所有的情况都是如此。 我想我的问题是,我正确地写下了300个像上面的个人redirect,还是有一个“更干净”的方式来做到这一点? 我听说有许多rewrite rules可以减慢服务器速度。

我会很感激你对这个家伙的意见,如果这不是正确的地方问道歉,我会删除并张贴在相关的交stream。

我将在应用程序代码本身中实现这些types的redirect,创build一个包含源URL和目标URL的数组,然后testingURL是否包含数组中的参数,并将redirect发送回目标。

对此使用重写规则有点复杂的方式来实现这一点。