1

因此,目前我工作的电子商务公司正在从基于 .NET 的平台过渡到基于 Magento PHP 的站点。我遇到的问题是,我们目前有 1000 个着陆页在搜索引擎上排名很高。我无法在新平台 - Magento 中对所有这些页面进行 301 处理,而且我知道由于性能问题,我无法将 1000 个静态重定向添加到 .htaccess 文件中。

所以我的问题是,有没有办法为我们的数据库中生成索引页面 URL 的变量创建重写或重定向规则。如果有,在性能方面,仅使用 .htaccess 文件、仅使用 PHP 脚本或两者结合会更聪明吗?

这是我们当前 URL 之一的示例以及我们希望将其重定向到的示例:

当前网址 /Clear_For_Life-Aquariums_Bowls-AT-70_180-AQAQ-ct.html

以下是我们用于生成重写的数据的细分;

  1. /Clear_For_Life = 数据库中的供应商名称列
  2. Aquariums_Bowls = DB 中的子类别列
  3. AT = DB 中的 VendorCode 列
  4. 70_180 = 数据库中的 PriceRange 列
  5. AQAQ = 数据库中的 CategoryId 列

需要重定向到的 URL;/clear-for-life-aquariums-bowl

任何帮助或建议将不胜感激。

4

3 回答 3

0

我不相信您可以使用 mod rewrite 更改大小写或替换字符('_' 到 '-')。

为什么你不能对所有这些页面进行 301 处理?如果它们是通过 .NET 访问的,那么无论您在哪里进行路由/解析 url,都应该有一行代码来执行 php 重定向。

于 2012-08-02T22:49:25.423 回答
0

我说使用 htaccess,并编写一个简单的实用程序从 301 详细信息列表中生成所述 htaccess 文件。

于 2012-08-02T22:54:38.860 回答
0

所以我的问题是,有没有办法为我们的数据库中生成索引页面 URL 的变量创建重写或重定向规则。如果有,在性能方面,仅使用 .htaccess 文件、仅使用 PHP 脚本或两者结合会更聪明吗?

这听起来像是RewriteMap的工作。您需要访问服务器或虚拟主机配置并创建地图。您可以使用此映射来调用可以从数据库中获取某些内容的脚本,然后决定新 URI 的外观。最简单的用法RewriteMap可能是:

RewriteMap remap prg:/path/to/script

稍后您可以简单地执行以下操作:

RewriteRule ^(.*)$ /${remap:$1|$1} [L]

/path/to/script需要接受输入Clear_For_Life-Aquariums_Bowls-AT-70_180-AQAQ-ct.html,解析它,然后正确输出clear-for-life-aquariums-bowl

于 2012-08-02T23:53:19.430 回答