0

我一直在绞尽脑汁想为什么这种重写不起作用,我似乎看不出原因。

RewriteRule ^products/productA$ /products/product.php?ProductRef=productA\d{2} [L]

上面的重写是我试图实现的,以使产品的最后 2 位数字发生变化。这是由于年份会发生变化。例如产品A13。下面的代码完美运行,但我不希望每年更改所有重写的年份。

RewriteRule ^products/productA$ /products/product.php?ProductRef=productA13 [L]
4

1 回答 1

0

您只能在 RewriteRule 的左侧 (LHS) 有匹配的正则表达式。在 RHS 上是您的目标 URL,它可以使用从 LHS 捕获的组。用这个替换你的代码:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^products/(productA\d+)/?$ /products/product.php?ProductRef=$1 [L,QSA,NC]
于 2013-07-08T10:43:20.587 回答