我有这个规则:
RewriteRule ^(panel|admin|site)/([A-Za-z0-9]+?)/(scripts|assets)/(.*)$ Project/$2/Public/$3/$1/$4 [L]
这个想法是允许访问存在于代码模块中的公共资产。唯一的问题是命名方案需要标题大小写(假设这是不可更改的)。因此,请求:
/site/users/scripts/myscript.js
返回 404,但是:
/site/Users/scripts/myscript.js
作品。
我尝试使用 mod_speling 来处理大小写问题,但是 mod_speling 执行的是完全重定向而不是内部重定向,因此最终用户的 URL 更改为:
/Project/Users/Public/scripts/myscript.js
这不好。这意味着我的目录结构有些暴露,这意味着我需要一个额外的重写规则来通过它。
有什么方法可以更优雅地处理 mod_rewrite 中的大写,即不使用 RewriteMap?(需要将所有内容保存在 .htaccess 中)
或者,有没有办法改变 mod_speling 以使用内部重定向?