带有两个子目录的apache2 virtualhost配置
我正在Ubuntu 14.04服务器上运行Apache2.4。它的用途是一个邮件服务器,所以它有postfix、dovecot和roundcube(以及其他东西)。我正在尝试配置Apache以提供我想要的页面,但失败了 我已安装SSL证书,并且工作正常。我想强制通过HTTPS进行所有访问,因此我有:带有两个子目录的apache2 virtualhost配置,apache,redirect,virtualhost,Apache,Redirect,Virtualhost,我正在Ubuntu 14.04服务器上运行Apache2.4。它的用途是一个邮件服务器,所以它有postfix、dovecot和roundcube(以及其他东西)。我正在尝试配置Apache以提供我想要的页面,但失败了 我已安装SSL证书,并且工作正常。我想强制通过HTTPS进行所有访问,因此我有: <VirtualHost *:80> Redirect / https://mailserver.hni.ae/ </VirtualHost> 这就行了。我可以进入
<VirtualHost *:80>
Redirect / https://mailserver.hni.ae/
</VirtualHost>
这就行了。我可以进入www.mydomain.com/B
并为这些页面提供登录页面(仅当我从指定的IP地址访问时),以及www.mydomain.com/A
并从应用程序A登录页面
我的问题是:我希望能够转到www.mydomain.com/C
,只需简单地www.mydomain.com
,并被重定向到www.mydomain.com/A
,但当我使用Redirect…
时,服务器会进入一个循环,试图为www.mydomain.com/aaaaaaaaaa…
提供服务。我怀疑我应该使用RedirectMatch temp^/$…
指令,但也无法使其工作。可能与将的重定向到:80
到:443
冲突有关?当我使用AllowOverride None
时,不涉及.htaccess
我已经彻底阅读了Apache2.4文档,但就是想不出来。有什么建议吗?您可以使用重写规则。将此添加到VirtualHost:
RewriteEngine On
RewriteRule ^/(C/?|)$ /A [R,L]
确保mod_rewrite
也已启用
说明:
Regex^/(C/?)$
将匹配/C
,可选地后跟一个/
,或者只是/
,即www.mydomain.com的根目录,该目录在@arco444下运行良好,谢谢!是时候在apache.org上阅读这篇文章了,这样我才能理解它的工作原理:)谢谢!没问题,如果您满意,请接受答案!
RewriteEngine On
RewriteRule ^/(C/?|)$ /A [R,L]