.htaccess 翻译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]
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}