使用htaccess更改URL的部分

时间:2015-09-24 18:43:30

标签: regex apache .htaccess mod-rewrite

我正在尝试从此类型的网址中更改以下网址的一部分...

/shop/product/41/3030651/Apple-Imac-215-Inches-Me086ba-By-Viking.html

到此..

/shop/product/1/030651/Apple-Imac-215-Inches-Me086ba-By-Viking.html

其中所有像41这样的数字都被改为1但看起来这个代码......

RewriteRule ^product/([^/]+)/([^/]+)/([^/]+)\.html$ index.php?case=product&proddb=$1&pid=$2&urltxt=$3 [L]

正在干扰。

我尝试了很多重写配置,但似乎没有任何效果,但我确实得到了以下代码的反应......

RedirectMatch 301 /shop/product/41/(.*) /shop/product/1/$1 

但是当我被发送到网站的根目录时,它必须与上面的RewriteRule冲突。

1 个答案:

答案 0 :(得分:1)

在您之前的重写规则之前有重定向规则:

RewriteEngine On

RewriteRule ^product/41/(.+)$ /product/1/$1 [L,NC,R=301]

RewriteRule ^product/([^/]+)/([^/]+)/([^/]+)\.html$ index.php?case=product&proddb=$1&pid=$2&urltxt=$3 [L,QSA,NC]