现在,我把我的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。
如果我理解正确的话,你有两个选项,一个在服务器内部改变URL,其余的互联网不知道它已经改变,其他的redirect所有的请求到新的URL。
对于第一个选项,你会使用mod_rewrite 。
例如。
RewriteEngine On RewriteRule ^/page\.html$ /newdir/page.html [L]
或者一个通用的规则,如果文件不存在
RewriteEngine On RewriteCond %{DOCUMENT_ROOT}/$1 !-f RewriteRule (.*) /newdir/$1 [L]
如果您想将所有请求redirect到新的URL,那么您可以使用redirect
例如。
Redirect 301 /page.html /newdir/page.html