我已经阅读了这里的所有主题以及关于重定向的谷歌,但我是一名程序员而且我无法继续。
我安装了Apache 2.2。 Web根目录是C:\ Apache \ htdocs。我的网络管理员为我设置了一个本地域,该域指向Apache的服务器。域名是myPhpApp.ourcompany.local。这个子域工作,它显示Apache“It works”页面。
现在我在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个子域指向每个目录。
答案 0 :(得分:0)
首先,你不需要为简单的事情重写规则。 我假设您需要遵循VirtualHost定义
<VirtualHost *>
DocumentRoot /myphpapp/
ServerName myphpapp.ourcompany.local
</VirtualHost>
“VirtualHost *”部分告诉Apache哪个接口和可选的端口要监听。 ServerName告知将使用哪个域名来标识此虚拟主机。
答案 1 :(得分:0)
你的apache配置中的文档根目录应该指向你所拥有应用程序的目录,你在问题中说明的应该是
DocumentRoot C:\Apache\htdocs\myPhpApp
就是这样。 重新启动或重新加载你的apache,然后进行测试。
答案 2 :(得分:0)
我认为这将是Nikola和cromestant的答案的组合:
<VirtualHost *:80>
DocumentRoot "C:/Apache/htdocs/myPhpApp"
ServerName myPhpApp.ourcompany.local
</VirtualHost>