我已经接管了一个项目,该项目引用了“lorem.php”,不幸的是没有使用Mod Rewrite,我发现它眼睛酸痛,并且很想敲掉延伸(至少)。
理想的网址看起来像“/ process-app”会映射到“/processApp.php”
我的问题是所有内容都使用的camelCase命名约定。
我怀疑是否有办法在规则中大写变量的第一个字母?
这就是我所拥有的:
RewriteEngine On
RewriteRule ^([a-z]+)-([A-z]+)?$ $1$2.php
但是,用于生成正确文件引用的URL必须是“/ process-App”
答案 0 :(得分:1)
我怀疑是否有办法将变量的第一个字母大写 在规则内?
不要怀疑,这是可能的。
在 httpd.conf 中将此添加到vhost块域:
RewriteMap upper int:toupper
然后,在你的htaccess中:
RewriteEngine on
RewriteRule ^([a-z]+)-([a-z])([a-z]+)$ $1${upper:$2}$3.php [L]
RewriteRule ^([a-z]+)-([A-Z][a-z]+)$ $1$2.php [L]