我有一个文件结构,为顶级域.htaccess服务多个域,将请求推送到特定于域的目录:
...
ReWriteCond %{REQUEST_URI} !webroot/domains/www.sitea.com/
ReWriteRule ^(.*)$ webroot/domains/www.sitea.com/$1 [L]
ReWriteCond %{REQUEST_URI} !webroot/domains/www.siteb.com/
ReWriteRule ^(.*)$ webroot/domains/www.siteb.com/$1 [L]
...
域级别的.htaccess(例如webroot / domains / www.siteb.com / .htaccess)然后应用各种规则来管理域页面的URL:
...
DirectoryIndex pageincludes/home.php
RewriteRule ^home$ pageincludes/home.php [L]
...
所以文件结构看起来像这样:
/webroot/domains/www.sitea.com/
/webroot/domains/www.siteb.com/
/webroot/js/script1.js
/webroot/images/image1.png
我的问题是我希望能够在所提供的页面中使用公共资源,例如:
<script type="text/javascript" src="/js/script1.js"></script>
<img src="/images/image1.png" alt="80%"></img>
客户端找不到这些资源。这种模式是不起作用的还是有一种方法可以让它发挥作用?
非常感谢。
答案 0 :(得分:1)
我只想在文件系统上添加符号链接。尝试重写规则有点复杂,你的apache服务器必须为每个页面反复处理它们。对于符号链接不是这样。
例如:
ln / webroot / js /webroot/domains/www.sitea.com/js
答案 1 :(得分:0)
现在,您构建它的方式会重写请求,因此无法查看js
或images
目录中的文件。
我假设您希望共享资源更容易进行更新,这肯定是可行的(尽管更好的服务器故障问题)。如果您为域文件夹中的目录添加别名(并且apache配置为遵循别名),那么您应该没问题。
答案 2 :(得分:0)
是否可以为每个域添加其他条件,以免重写对这些共享资源的请求。 e.g。
ReWriteCond %{REQUEST_URI} !^(js|images)
或者如何为共享资源使用单独的域?