Apache Virtual Host重定向到文档根目录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache Virtual Host重定向到文档根目录相关的知识,希望对你有一定的参考价值。

我已成功为给定的服务器名称设置DocumentRoot:

<VirtualHost *:80>
 DocumentRoot "/var/www/html/domain1"
 ServerName www.domain1.com
 ServerAlias *.domain1.com
#Other directives here
</VirtualHost>

我似乎无法弄清楚,如何移动子文件夹,即“www.domain1.com/contact-us”,因此它显示位于“/ var / www / html / domain1”中的index.html。

我尝试在VirtualHost说明中添加/ contact-us的别名:

<VirtualHost *:80>
     DocumentRoot "/var/www/html/domain1"
     ServerName www.domain1.com
     ServerAlias *.domain1.com
    #Other directives here
     Alias /contact-us /var/www/html/domain1
    </VirtualHost>

它没有按预期工作。

我想通过域1的子文件夹中的.htaccess来做这件事。我如何将域名后的所有内容重定向到index.html?

答案
RewriteEngine on
RewriteRule ^subdirectory/(.*)$ /$1 [R=301,NC,L]
RewriteRule ^about-us/(.*)$ /$1 [R=301,NC,L]
RewriteRule ^contact/(.*)$ /$1 [R=301,NC,L]
RewriteRule ^subfolder/(.*)$ /$1 [R=301,NC,L]

测试此代码,确保更改文件夹名称。


编辑

这必须位于您的Web目录根文件夹中的.htaccess中。

以上是关于Apache Virtual Host重定向到文档根目录的主要内容,如果未能解决你的问题,请参考以下文章

apache从非www重定向到www

Apache 虚拟主机重定向到文档根目录

Apache 网站301重定向

在Apache中将HTTP重定向到HTTPS

在Apache中将HTTP重定向到HTTPS

如何禁用 301 重定向,在 Apache 中将斜杠添加到目录名称