使用htaccess重定向,第一个字母强制为小写以标识文件名

时间:2017-12-27 17:20:58

标签: regex .htaccess

我有以下规则:

RewriteRule ^([a-z])([\w-]+)/?$ $1.php?var=$2 [L,QSA,NC]

这会将/fH128重定向到f.php?var=H128。我希望能够将第一个标识文件名的字符设置为大写,然后以小写形式重定向到此文件名。因此/FH128会重定向到f.php?var=H128

我尝试了以下方法,但都没有工作:

RewriteRule ^([a-z])([\w-]+)/?$ ${lowercase:$1}.php?var=$2 [L,QSA,NC]
RewriteRule ^([a-z])([\w-]+)/?$ {lowercase:$1}.php?var=$2 [L,QSA,NC]

1 个答案:

答案 0 :(得分:0)

在Apache配置文件中,例如httpd.conf或虚拟主机配置(但不是.htaccess)定义此RewriteMap

RewriteMap lowercase int:tolower

然后在.htaccess内使用您的规则:

RewriteRule ^([a-z])([\w-]+)/?$ ${lowercase:$1}.php?var=$2 [L,QSA,NC]