.htaccess遗留文件的漂亮网址

时间:2014-02-04 11:24:21

标签: .htaccess mod-rewrite

我已经接管了一个项目,该项目引用了“lorem.php”,不幸的是没有使用Mod Rewrite,我发现它眼睛酸痛,并且很想敲掉延伸(至少)。

理想的网址看起来像“/ process-app”会映射到“/processApp.php”

我的问题是所有内容都使用的camelCase命名约定。

  • 由于引用了旧版网址,我无法重命名文件
  • 由于存在大量文件,需要动态解决方案,因此无法为每个文件执行单个文件引用

我怀疑是否有办法在规则中大写变量的第一个字母?

这就是我所拥有的:

RewriteEngine On
RewriteRule ^([a-z]+)-([A-z]+)?$ $1$2.php

但是,用于生成正确文件引用的URL必须是“/ process-App”

1 个答案:

答案 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]