现在,我已将 DocumentRoot 设置为 ,/var/www/html
并且我的 URL 是domain.com
。
我的逻辑顺序是,domain.com
所有网站的主页都位于/var/www/html/{index.html,about.html,...}
。我还有一些“不相关的”子网站,我想从 进行链接domain.com/subsite1
domain.com/subsite2
。
有什么方法可以将domain.com
首页移动到文件夹中,而无需移动subsite1
并subsite2
进入该文件夹。我也不想将任何别名硬编码到子网站或我的域的首页。
本质上,我想将 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