在apache 2.2中映射docroot之外的目录

时间:2014-10-03 20:16:13

标签: apache mod-rewrite httpd.conf mod-alias

我使用的网站结构如下:

|-- 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。 谢谢。

0 个答案:

没有答案