如果URL的字符长度小于一定数量的字符,如何重写URL

时间:2017-08-13 17:53:31

标签: regex .htaccess mod-rewrite url-rewriting

我的.htaccess文件中有以下代码,允许只包含字母,数字,下划线或破折号的网址访问我的页面(名为"可用"):

RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^[a-zA-Z0-9_-]+$ /available.shtml [L]

例如,mywebsite.com/abc通过,mywebsite.com/ABC通过,mywebsite.com/123通过,mywebsite.com / aBc123通过(你明白了)。任何包含符号的请求网址都会生成错误页面。

这很好用,但我也希望将字符长度限制为不超过25个字符(意味着请求的URL必须只包含字母,数字等。并且 less 长度不超过25个字符我怎么能这样做?我尝试使用:

RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^([a-zA-Z0-9_-]{25,})+$ /available.shtml [L]

但这使得它必须更多而不是25个字符。

编辑(指评论): error when adding period

1 个答案:

答案 0 :(得分:1)

只需设置上限:

MsgBox rng.Parent.Name & "!" & rng.Address

如果您希望将RewriteCond %{REQUEST_FILENAME} !-l RewriteRule ^[\w-]{0,25}$ /available.shtml [L] 也发送到0,25页面,也可以尝试1,25而不是http://yoursite.com