(Apache服务器)链接到根目录时,它与Web域不同

时间:2016-12-14 00:12:51

标签: html .htaccess

这是非常基本的,但无法通过Google-fu或实验找到答案。

我在大学网站上的个人网页的控制方式如下:我在服务器的/home/myname文件夹中有写访问权限,/home/myname/WWW的内容可以在互联网上阅读URL www.myuniversity.org/~myname,由Apache服务器提供。虽然我无法访问服务器的全局配置,但我们可以非常广泛地使用.htaccess文件。

默认的根域为www.myuniversity.org,通常的“获取CSS”指令将是

<link rel="stylesheet" href="~myname/mystyle.css" type="text/css" media="screen">

我不喜欢这样,因为如果我移动到另一台主机,我将不得不返回所有文件并重写~myname/部分。 (同样的问题适用于许多内部链接<a href=...>。)

我正在寻找的是一种“半相对路径”,我告诉所有根,www.myuniversity.org/~myname/而不是www.myuniversity.org并且所有路径都从那里开始。< / p>

我以为我通过在.htaccess中添加以下行找到了解决方案:

RewriteBase /~myname/

然后通过

包含“便携式”CSS
<link rel="stylesheet" href="mystyle.css" type="text/css" media="screen">

有效,但只在根文件夹中; www.myuniversity.org/~myname/foo.html会找到CSS但www.myuniversity.org/~myname/sub/fol/ders/bar.html不会。

我可能错误地认为RewriteBase应该做什么,但我认为它只是将其参数预先设置为来自内部页面的任何调用。

具有“半相对”路径的可移植文件集的解决方案(如果存在)是什么(即路径作为来自给定根的绝对路径给出,但根可以设置在单个点并且需要与域根不匹配)?

我看过Website css and javascript are not accessible within their respective folders有类似症状,但根本原因不同,以及Using htaccess rewrite to make a subdirectory be its own root for root relative path requests,我并不完全明白。

0 个答案:

没有答案