我只是非常谨慎地修改.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
互联网领域的很多网站都有我旧式网址的链接,我有大约100个,所以我想将它们重定向到新网址,格式如下:
http://www.londonpower.com/2-channel-guitar-preamp
如果我理解正确,问题分为两部分:
消除了下划线,因为它们阻碍了.htaccess引擎;
然后在网址上执行301重定向。
到目前为止,我已经能够使用此重写规则获得第一个下划线以更改为连字符:
RewriteRule ^([^_]*)_(.*)$ /$1-$2 [R=301,L]
...但是第二个下划线(在“?”之后是查询字符串的一部分)没有运气。我被困在那里。
答案 0 :(得分:0)
我会避免使用重写。文件catalog/product_info.php
是否存在于新商店中?如果没有,请创建它并使用旧ID映射向新URL添加简单重定向。如果是这样,请在不同的文件中执行相同的操作,例如old-redirector.php
,然后重写请求。