1

我有一个域 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 来“解决”这个问题。这似乎不是处理它的最优雅的方式,但它是我现在能想到的最好的方式。如果有人有更好的告诉我!

4

3 回答 3

0

为了使系统保持我想要的灵活性,我决定将 example1 url 和文件夹名称都放入数据库中,这样我就可以构建指向我需要在 HTML 页面中访问的文件的绝对链接。这对于我的 mod_rewrite 来说似乎也是必要的,它会尝试将这些文件的位置附加到“漂亮 URL”的末尾(例如 example2/post/2/css/main.css)。感谢您的想法,您将我引向正确的方向!

于 2012-11-19T16:41:48.573 回答
0

根据您的描述,您的文件夹组织如下所示:

    /path/to/domain/folder/
                   /css/   ^
                    ^      |
                    |      domain2.com
                    domain.com

PHP ondomain2.com访问不会有问题../css,因为它在服务器上运行,但是浏览器不能再往前走/path/to/domain/folder/

我建议在服务器上创建一个符号链接(如果可能):

ln -s /path/to/domain/css /path/to/domain/folder/css

或者,您可以在 Apache 中使用为toAlias设置别名domain2.com/css/path/to/domain/css/

最后,一个<base>标签可以帮助你(正如 mario 所提到的),但是从一个带有这种标签的页面跟随的任何链接都将切换回 `domain1`。

于 2012-11-19T04:04:54.827 回答
0

只是一个猜测,但听起来像是<base href=>需要的。

在你的情况下:

 <base href="http://example1.com/folder/_">

这将使所有相对 URL 都从 example1 请求资源,即使用户访问您的 example2.com 虚拟主机也是如此。尽管所有链接也会将人们重定向到那里。它会影响 JS/IMG 和可点击的东西。

于 2012-11-19T03:54:20.413 回答