2013-04-24 61 views
1

我试图重定向谁添加亚马逊ASIN(10个字母/数字),以我的域名结尾的人...的.htaccess国防部重写10字母字母数字“字”

mydomain.com

我希望他们能够格式化自己的网址,像这样: mydomain.com/B008XCFLTM

有人递给我:

RewriteEngine on 
RewriteRule ^[a-zA-Z0-9]{10}/(.*) /check.php?asin=$1 [L,R=301] 

这个作品,只有当他们把尾随SL灰像这样:

mydomain.com/B008XCFLTM/

以下(去除斜杠):

RewriteEngine on 
RewriteRule ^[a-zA-Z0-9]{10}(.*) /check.php?asin=$1 [L,R=301] 

作品种类....我认为它的工作,但随后上述任何文件10字符将被重写规则捕获并发送到check.php。

有没有办法将它限制为只有10个字符?因此,如果在mydomain.com/之后的任何内容是9个字母或更少,或者11个字母或更少,它将正常工作...如果它只有10个字符,是否重定向到check.php?

感谢您的洞察力。

回答

1

你不想捕获ASIN号码吗?分组(括号内)必须围绕ASIN,而不是之后无论是来自:

RewriteEngine on 
RewriteRule ^([a-zA-Z0-9]{10})/?$ /check.php?asin=$1 [L,R=301] 
+0

出于某种原因,当我用ASIN = $ 2,这是行不通的,但是当我使用上面的代码和我使用asin = 1美元,它就像一个魅力!非常感谢! – 2013-04-24 19:50:47

+0

@ R.J。对不起,'$ 2'是一个错字,它应该是'$ 1' – 2013-04-24 20:03:18

+0

没有概率...非常感谢这个超级快速和有益的回应! – 2013-04-24 23:14:43