使用htaccess添加URL末尾的字符

时间:2014-12-28 13:55:10

标签: .htaccess

我必须将商店网站迁移到另一个商店系统。

我遇到的问题是,在新店铺系统中,所有产品名称必须以网址中的-detail结尾。

在今天的网站中,这里是产品的网址:

domaine.com/shop/category1/productname

在新店中,同一产品会有以下网址:

domaine.com/shop/category1/productname-detail

我希望在使用旧版网址domaine.com/shop/category1/productname时,用户将被重定向到右边的网址:domaine.com/shop/category1/productname-detail

这可以通过htaccess完成而不必为每个产品定义一条线(~2500)吗?

此商店还有domaine.com/contact这样的普通网址,我不想为这些网址添加-detail。仅在将产品称为商店类别时。

1 个答案:

答案 0 :(得分:2)

您可以使用mod_rewrite执行此操作。确保在主配置文件中加载了mod_rewrite模块。然后把你的.htaccess放进去。条件确保url不以-detail结尾。然后将带有商店的网址和其他2个路径部分重定向到相同的网址,并附加-detail。

RewriteEngine on

RewriteCond %{REQUEST_URI} !-detail$
RewriteRule ^shop/[^/]+/[^/]+/?$ %{REQUEST_URI}-detail [R,L]

在测试此规则并确保其正常运行后,将R标记替换为R=301以使重定向永久化。