想知道这是否可行。
我正在使用htaccess来重写我的页面,我正在使用以下行:
RewriteRule ^([a-zA-Z0-9^-]+)$ page.php?page=$1
将其重写为干净的链接。 page.php然后适当地调用数据。 我想知道如果可能的话,如果变量是3个字符长,它会重定向到另一个页面。
RewriteRule ^([a-zA-Z0-9^-]+{3})$ small.php?char=$1
上面有类似的东西?那可能吗?我只是将{3}用于插图目的。 例如,如果我的地址是www.example.com/abc,它会重定向到small.php?char = abc,如果它已经重定向到page.php地址。
提前致谢,
答案 0 :(得分:0)
您可以使用RewriteCond创建if语句,如果匹配则将用户重定向到给定链接。 RewriteCond定义了一个规则条件,可以有多个,如果所有这些条件匹配,则使用后续的RewriteRule:
RewriteCond %{REQUEST_URI} /^([a-zA-Z0-9^-]+{3})$
RewriteRule ^([a-zA-Z0-9^-]+{3})$ small.php?char=$1 [NC,L]
RewriteRule ^([a-zA-Z0-9^-]+)$ page.php?page=$1 [NC,L]
答案 1 :(得分:0)
我会在没有+
的情况下简单地尝试这个,在之前添加small.php规则并添加L标志(Last),这样如果它与小版本匹配则会退出:
RewriteRule ^([a-zA-Z0-9^-]{3})$ small.php?char=$1 [L]
RewriteRule ^([a-zA-Z0-9^-]+)$ page.php?page=$1 [L]
+
代表一个或多个字符。 {3}
代表3个字符。