【发布时间】:2011-06-28 06:47:52
【问题描述】:
我已经在这里和谷歌上阅读了关于重定向的所有主题,但我是一名程序员,我不能让它继续下去。
我安装了 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-rewrite,虚拟主机,两者的结合?
我得到了这个,但这不起作用:
<VirtualHost myphpapp.ourcompany.local>
DocumentRoot /myphpapp/
ServerName www.example1.com
RewriteEngine on
RewriteRule ^/$ /myphpapp/ [R]
</VirtualHost>
实际上我得到:
禁止
您没有访问权限 /myphpapp/ 在这台服务器上。 有人可以帮忙吗?
编辑 也许我忘了提及:我没有把它放到 www 根目录中,即 C:/Apache/htdocs 因为我在那里有更多的应用程序。 我在 thdocs 中有 3 个目录:myphpapp、myoldapp、mytestapp。作为目标,我希望有 3 个指向每个目录的子域。
【问题讨论】:
-
关于编辑。同样,这不是问题,这是标准的 Web 服务器配置。一个应用一个目录,所以这不是问题。您不需要 mod-rewrite 或重定向,只需简单的文档根配置,文档根是“站点”根目录。
标签: apache mod-rewrite redirect dns virtualhost