.htaccess 重写包含下划线和参数的孤立 URL



我只是为了我的在线商店而非常小心地修改.htaccess。

前段时间,我做了一个从osCommerce到OpenCart的网站迁移。这导致了具有以下两种示例格式的孤立 osCommerce 样式 URL:

http://www.londonpower.com/catalog/product_info.php?products_id=75

http://www.londonpower.com/catalog/product_info.php?cPath=15&products_id=75

互联网领域的许多网站都有指向我的旧式URL的链接,我有大约100个,所以我想将它们重定向到具有以下格式的新URL:

http://www.londonpower.com/2-channel-guitar-preamp

如果我理解正确,问题分为两部分:

  1. 消除下划线,因为它们会混淆 .htaccess 引擎;

  2. 然后对 URL 执行 301 重定向。

到目前为止,我已经能够使用以下重写规则将第一个下划线更改为连字符:

RewriteRule ^([^_]*)_(.*)$ /$1-$2 [R=301,L]

。但是第二个下划线("?"后面的查询字符串的一部分(没有运气。我被困在那里。

我会避免为此使用重写。该文件catalog/product_info.php存在于新存储中吗?如果没有,请创建它并使用旧 ID 映射到新 URL 添加简单的重定向。如果是这样,请在不同的文件中执行相同的操作,例如old-redirector.php然后重写对其的请求。

最新更新