将子域重定向到子目录

问题描述 投票:1回答:3

我已经在这里和google上阅读了有关重定向的所有主题,但是我是一名程序员,我无法理解。

我已经安装了Apache 2.2。 Web根目录为C:\\ Apache \\ htdocs。 我的网络管理员为我设置了一个本地域,该域指向使用Apache的服务器。 该域是myPhpApp.ourcompany.local。 这个子域有效,它显示了Apache“有效”页面。

现在,我在C:\\ Apache \\ htdocs \\ myPhpApp中拥有一个网站,并且我希望Apache将myPhpApp.ourcompany.local重定向到此目录。 浏览网站时,URL应始终保持myPhpApp.ourcompany.local的形式存在,例如:myPhpApp.ourcompany.local / index.php,myPhpApp.ourcompany.local / data.php等。

我不知道该怎么实现? Mod重写,虚拟主机,两者结合? 我有这个,这是行不通的:

<VirtualHost myphpapp.ourcompany.local>
DocumentRoot /myphpapp/
ServerName www.example1.com

RewriteEngine on
RewriteRule   ^/$  /myphpapp/  [R]

</VirtualHost>

实际上我得到:

禁止的

您无权访问此服务器上的/ myphpapp /。 有人可以帮忙吗?

编辑也许我忘了提及:我不把它放到C:/ Apache / htdocs的www根目录中,因为我在那里有更多的应用程序。 我在thdocs中有3个目录:myphpapp,myoldapp,mytestapp。 作为目标,我希望有3个指向每个目录的子域。

apache mod-rewrite redirect dns virtualhost
3个回答
0
投票

首先,您不需要像这样简单的事情的重写规则。 我假设您需要遵循VirtualHost的定义

<VirtualHost *>

    DocumentRoot /myphpapp/
    ServerName myphpapp.ourcompany.local

</VirtualHost>

“ VirtualHost *”部分告诉Apache要监听哪个接口以及可选的端口。 ServerName告诉将使用哪个域名来标识此虚拟主机。


0
投票

apache config中的文档根目录应指向您拥有应用程序的目录,在问题中您应指出的是

DocumentRoot C:\Apache\htdocs\myPhpApp

仅此而已。 重新启动或重新加载您的Apache,然后进行测试。


0
投票

我认为这将是尼古拉和死党的答案的结合:

<VirtualHost *:80>
    DocumentRoot "C:/Apache/htdocs/myPhpApp"
    ServerName myPhpApp.ourcompany.local
</VirtualHost>
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.