Regex .htaccess mod重写10个字母的字母数字“;字;

Regex .htaccess mod重写10个字母的字母数字“;字;,regex,.htaccess,mod-rewrite,Regex,.htaccess,Mod Rewrite,我试图重定向那些在我的域名末尾添加亚马逊ASIN(10个字母/数字)的人 mydomain.com 我希望他们的url格式如下: mydomain.com/B008XCFLTM 有人给了我: RewriteEngine on RewriteRule ^[a-zA-Z0-9]{10}/(.*) /check.php?asin=$1 [L,R=301] 只有当他们这样放置尾部斜杠时,这才有效: mydomain.com/B008XCFLTM/ 以下内容(删除斜杠): 这类作品。。。。我认为它可以工

我试图重定向那些在我的域名末尾添加亚马逊ASIN(10个字母/数字)的人

mydomain.com

我希望他们的url格式如下: mydomain.com/B008XCFLTM

有人给了我:

RewriteEngine on
RewriteRule ^[a-zA-Z0-9]{10}/(.*) /check.php?asin=$1 [L,R=301]
只有当他们这样放置尾部斜杠时,这才有效:

mydomain.com/B008XCFLTM/

以下内容(删除斜杠):

这类作品。。。。我认为它可以工作,但是任何超过10个字符的文件都会被重写规则捕获并发送到check.php

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


感谢您的洞察力。

您不是在尝试捕获ASIN号码吗?分组(括号)需要围绕ASIN,而不是后面的任何内容:

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

你不是想抓住ASIN号码吗?分组(括号)需要围绕ASIN,而不是后面的任何内容:

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

出于某种原因,当我使用asin=$2时,它不起作用,但是当我使用上面的代码并且使用asin=$1时,它就像一个符咒!非常感谢你@R.J.对不起,
$2
是个打字错误,应该是
$1
没问题。。。非常感谢您的快速而有帮助的回复!!出于某种原因,当我使用asin=$2时,它不起作用,但是当我使用上面的代码并且使用asin=$1时,它就像一个符咒!非常感谢你@R.J.对不起,
$2
是个打字错误,应该是
$1
没问题。。。非常感谢您的快速而有帮助的回复!!