我正在重新定义我自己的 php mvc 框架。
默认情况下,我的每个请求都由 /index.php 处理,这会触发 mvc 路由、执行请求和返回正确视图的过程。每个请求都根据单个 'q' GET 参数进行路由,drupal 风格,如
/index.php?q=anApplication/aController/theAction/arg1/.../moreArguments
这工作得很好,并且通过 mod_rewrite 使干净的 url 变得容易。好的。
我有一个这样的目录树:
/public
|----themeName
|--------|
|----page.tpl
|----content.tpl
|----etc.
/private
|----sourceDirectory
|----moreSources
我不想要的是存储在私有和公共目录中的文件像 HTTP 请求一样直接提供服务:我不想要类似的东西
mySrv/public/themeName/page.tpl
绕过我的核心处理程序 - index.php 来显示死模板或任何不是图像的资源。
我想我可以通过这样的重写配置来实现一些目标
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)$ index.php?q=$1 [QSA,L]
但随后该框架将仅适用于启用 mod_rewrite 的站点,因为这将重写所有现有和不存在的资源。
我要问的是:是否有另一种方法可以让每个请求都由我选择的资源(例如 index.php)提供服务,现有或不存在的资源?
谢谢