Apache 如何将不同文件的相对URL映射到不同的根?
如果我在localhost中有两个文件夹:Apache 如何将不同文件的相对URL映射到不同的根?,apache,relative-path,Apache,Relative Path,如果我在localhost中有两个文件夹: localhost\sites\dog localhost\sites\cat 如何使每个文件夹中的文件中的所有相对URL使用相应的文件夹作为根目录?如果可能的话,是否有一种通用方法可以让sites文件夹中的所有文件夹自动作为其中所有相对URL的根目录?实现您的要求的最简单方法是使用(尽管有一些缺点)。这允许您为站点内的所有链接指定默认URL。在下面的示例中,文档的相对根是http://www.apache.org/ 因此/images/feath
- localhost\sites\dog
- localhost\sites\cat
如何使每个文件夹中的文件中的所有相对URL使用相应的文件夹作为根目录?如果可能的话,是否有一种通用方法可以让sites文件夹中的所有文件夹自动作为其中所有相对URL的根目录?实现您的要求的最简单方法是使用(尽管有一些缺点)。这允许您为站点内的所有链接指定默认URL。在下面的示例中,文档的相对根是http://www.apache.org/ 因此/images/feather-small.gif将从http://www.apache.org/images/feather-small.gif.
对于您的站点,您需要每个站点包含稍微不同的基本标记,如:
<base href="http://localhost/sites/cats/" />
<base href="http://localhost/sites/dogs/" />
我可以想象,如果你有很多网站,这可能会变得相当乏味(特别是如果你想交换网站的话)。一个选项是在一个地方为每个站点配置基本标记,然后使用类似服务器端包含(mod_include)的东西将其合并。假设您的站点是Apache上托管的静态内容,您可以使用mod_include来提供动态基本标记include。或者,如果您的站点使用PHP、ASP、JSP(或类似)动态编写脚本,您可以使用这些技术获取或生成基本标记
如果您创建了一个包含以下内容的basetag.txt:
<base href="http://localhost/sites/cats/" />
您可以在静态内容中引用它,例如index.html可能包含:
<!--#include virtual="./basetag.txt" -->
然后,如果您需要将站点移动到“猫”的位置,则只需编辑一个文件basetag.txt
我希望这能有所帮助。您似乎对您的Web服务器知道和关心的内容与客户知道和关心的内容感到困惑。还不清楚您的相关URL和超链接是什么样子的——例如,是否有一个带有“bar.html”链接的sites/dog/cat/foo,以及您希望它去哪里?可能不是foo/bar.html,因为这不需要配置/特殊情况。谢谢马克!根据评论,我想我可能对这个问题的措辞很糟糕。但这个答案正是我想要的。
<!--#include virtual="./basetag.txt" -->