我已经更改了网络平台,并且拥有旧网址,我不能也不想在现有旧内容的新平台上进行匹配。
我有一系列旧产品网址,网址中都有'-p-',后跟一串数字,以.html
结尾(osCommerce平台网址)。
我想知道如何改写:
/x/[rest-of-url]-p-[random numbers].html
到
/x/[rest-of-url]
我希望最终结果看起来像这样:
http://www.shop.com/shop/versace-black-snakeskin-pony-hair-hobo-p-2214.html
重定向到:
http://www.shop.com/shop/versace-black-snakeskin-pony-hair-hobo
有人知道htaccess
文件中这是否可以作为重写规则吗?
答案 0 :(得分:0)
我的托管服务提供商BeepWeb回答了我的问题。
RewriteRule ^/shop/(.*)-p-(.*).html$ http://www.shop.com/product/$1/ [R=302]
第一个参数是您要匹配的URI。 (。)匹配任何字符。第二个参数是目标URL。 $ 1对应第一个(。)。 $ 2将是第二个(。*),依此类推...... [R = 302]告诉重写为302重定向(对于301重定向使用[R = 301])。
使用(。)基本上就像使用一个通配符。您可以通过指定要匹配的字符而不是所有字符(而不是使用(。)您可以使用([abc] *)而不是仅匹配a,b和c字符来缩小此范围)。
另外,请注意不要无意中匹配其他URL(即,您需要确保模式匹配对于正在重写的URL是唯一的。)
如果您需要源参考,请参阅以下内容: https://httpd.apache.org/docs/current/rewrite/intro.html
再次感谢http://www.beepweb.com的详细回复。 希望它能帮助别人。