Apache - 从文档根目录提供目录,而无需输入文档根目录

Apache - 从文档根目录提供目录,而无需输入文档根目录

现在,我已将 DocumentRoot 设置为 ,/var/www/html并且我的 URL 是domain.com

我的逻辑顺序是,domain.com所有网站的主页都位于/var/www/html/{index.html,about.html,...}。我还有一些“不相关的”子网站,我想从 进行链接domain.com/subsite1 domain.com/subsite2

有什么方法可以将domain.com首页移动到文件夹中,而无需移动subsite1subsite2进入该文件夹。我也不想将任何别名硬编码到子网站或我的域的首页。

本质上,我想将 DocumentRoot 中分散的 html 文件收集到一个文件夹中,但仍可以在没有包含目录的 URL 的情况下访问它们。我还希望 DocumentRoot 的现有子目录保持原样并保留相同的 URL。

答案1

如果我理解正确的话,您有两个选项,一个在服务器内部更改 URL,而互联网的其余部分并不知道它已被更改,另一个将所有请求重定向到新的 URL。

对于第一个选项,您可以使用mod_rewrite
例如。

RewriteEngine On
RewriteRule ^/page\.html$ /newdir/page.html [L]

或者如果文件不存在则使用通用规则

RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/$1 !-f
RewriteRule (.*) /newdir/$1 [L]

如果要将所有请求重定向到新的 URL,则可以使用重定向

例如。

Redirect 301 /page.html /newdir/page.html

相关内容