我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发送回目标。
对此使用重写规则有点复杂的方式来实现这一点。