我有一个域example.com,其中有一个文件夹example.com/folder/,其中有另一个域直接指向它,所以example2.com指向example.com/folder /
当我通过example.com/folder/访问时,一切正常,我可以访问我的css和js文件夹,这些文件夹位于example.com/css/和example.com/js/
从example2.com访问时,我没有在网站上看到css或js,当我尝试通过单击firefox中的视图源输出中的链接直接链接到它时,我得到了404。
我还应该提一下,我没有问题,包括来自example2.com文件夹下面的PHP包含,只是使用HTML中引用的相对URL。
知道如何让网站让我从example1.com/folder/和example2.com访问example2.com根目录下的这些文件夹吗?
我正在使用LAMP系统。此外,我的目标是保持系统足够灵活,以便我可以在多组域/子域中使用它,而无需编辑服务器文件或PHP。
编辑 - 我通过在我的数据库中为根域添加一个字段来解决这个问题,所有子域都将来源并为链接的js和css创建静态URL。这似乎不是处理它的最优雅的方式,但它是我现在能想到的最好的方式。如果有人有更好的让我知道!
答案 0 :(得分:0)
只是一个猜测,但需要听起来像<base href=>
。
在你的情况下:
<base href="http://example1.com/folder/_">
这将使所有相对URL从example1请求资源,即使用户访问您的example2.com vhost也是如此。虽然所有链接都会将人们重定向到那里。它会影响JS / IMG和点击事物。
答案 1 :(得分:0)
根据您的描述,文件夹组织如下所示:
/path/to/domain/folder/
/css/ ^
^ |
| domain2.com
domain.com
domain2.com
上的PHP在访问../css
时不会有问题,因为它在服务器上运行,但浏览器不能再追溯/path/to/domain/folder/
。
我建议在服务器上创建一个符号链接(如果可能的话):
ln -s /path/to/domain/css /path/to/domain/folder/css
或者,您可以在Apache中使用Alias
为domain2.com/css
设置/path/to/domain/css/
最后,<base>
标记可以帮助您(如马里奥所述),但是来自带有此类标记的网页的任何链接都会切换回`domain1``。
答案 2 :(得分:0)
为了保持系统的灵活性,我决定将example1 url放入数据库和文件夹名称,这样我就可以构建我需要在HTML页面中访问的文件的绝对链接。这对我的mod_rewrite来说似乎也是必要的,它改变了尝试将这些文件的位置固定到“漂亮URL”的末尾(如example2 / post / 2 / css / main.css)。谢谢你的想法,你引导我朝着正确的方向前进!