我使用的网站结构类似于以下内容:
|-- module1
||-- www
|||-- js
|||-- module1.php
|-- module2
||-- www
||| -- js
||| -- css
|||-- module2.php
|-- www
||-- js
||-- images
docroot 指向 /www 并且 /module1/www 在 docroot 之外,我必须以这种方式提供它:/module1/js
在开始时,我们有静态别名来让它工作:
Alias /module1 /module1/www
但是现在,我们有很多模块(70 多个),所有这些别名都太疯狂了。为了解决这个问题,我们开发了这个 AliasMatch 规则:
AliasMatch ^/(.*)/\1\.php(.*)$ D:/WCs/system/$1/www/$1.php$3
它部分工作,因为 moduleX.php 作为最重要文件的路由工作,但是当我们想要不遵循这种模式的东西时,一切都会崩溃(想想 js 目录中的文件或普通文件)。而且我们无法映射所有内容,因为我们在 /www 目录中有全局 css 和 js 之类的文件。
所以,我来寻求帮助。我认为 mod_rewrite 不适合这里,因为如我所见,它仅适用于 docroot 中的文件,对吗?你将如何解决这个问题?也许在 /moduleX/www 中使用自定义 .htaccess 文件根据需要重新映射?
顺便说一句,我使用的是 apache 2.2 和 mod_alias。谢谢你。