.htaccess 翻译Htaccess代码行,被正则表达式搞糊涂了,用不同的方式处理字母和数字

.htaccess 翻译Htaccess代码行,被正则表达式搞糊涂了,用不同的方式处理字母和数字,.htaccess,mod-rewrite,friendly-url,.htaccess,Mod Rewrite,Friendly Url,我的htaccess文件中有这行代码 RewriteRule ^url/([\w\d]{6})$ page.php?id=$1 [L] 我知道它正在将url从site.com/url/wkwk重写为site.com/page.php?id=wkwk 然而,我不明白[\w\d]{6}是什么意思。以W开头,以D结尾,长度为6个字符?是这样吗 如果是这样,我可以添加另一行只处理如下数值: RewriteRule ^url/([0-9]+)$ differentpage.php?id=$1 [L]

我的htaccess文件中有这行代码

RewriteRule ^url/([\w\d]{6})$ page.php?id=$1 [L]
我知道它正在将url从
site.com/url/wkwk
重写为
site.com/page.php?id=wkwk

然而,我不明白
[\w\d]{6}
是什么意思。以W开头,以D结尾,长度为6个字符?是这样吗

如果是这样,我可以添加另一行只处理如下数值:

RewriteRule ^url/([0-9]+)$ differentpage.php?id=$1 [L]
RewriteRule ^url/([\w\d]{6})$ page.php?id=$1 [L]
RewriteRule ^url/([0-9]+)$ differentpage.php?id=$1 [L]
所以,这两条线一起看起来是这样的:

RewriteRule ^url/([0-9]+)$ differentpage.php?id=$1 [L]
RewriteRule ^url/([\w\d]{6})$ page.php?id=$1 [L]
RewriteRule ^url/([0-9]+)$ differentpage.php?id=$1 [L]

这对处理url/然后是一些字母和url/然后是一些数字有不同的作用吗?

我将用我学到的知识回答我自己的问题

我不确定\w和\d,但
{6}
部分仅表示6个字符。我遇到了一个问题,因为我希望它最多有6个字符长

为了解决这个问题,我将
{6}
更改为
{0,6}