获取Apache VHost以加载index.html而不是web目录

时间:2015-06-05 08:25:32

标签: angularjs apache server wamp host

我没有运气找到这个问题的答案,所以我自己也在问这个问题。

为了让我的VHost工作,我跟着this answer。我的(工作)“httpd-vhosts.conf”文件看起来像这样

<VirtualHost *:80>
    ServerAdmin jesuscc1993@gmail.com
    DocumentRoot "Z:/Projects/Web/MetalTxus Site"
    ServerName metaltxus.test
    ServerAlias www.metaltxus.test
    <Directory "Z:/Projects/Web/MetalTxus Site">
        #Options FollowSymLinks
        Options Indexes FollowSymLinks
        AllowOverride All
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

据我所知,我应该使用“-Indexes”更改“索引”,以使Web加载“index.html”而不是web目录。

然而,当我这样做时,我的WAMPServer无法启动。如果我删除了“FollowSymLinks”选项,但我得到的只是“403 - 禁止”页面(“你没有权限访问此服务器上的”/“)。

由于寻找解决方案让我无处可去,我将此作为我的最后资源。

我在Windows 8.1中使用最新的WampServer版本。我想测试一个AngularJS应用程序。

如果您需要更多信息,请继续询问。

1 个答案:

答案 0 :(得分:1)

试试这个: -

<VirtualHost *:80>
    ServerAdmin jesuscc1993@gmail.com
    DocumentRoot "Z:/Projects/Web/MetalTxus Site"
    ServerName metaltxus.test
    ServerAlias www.metaltxus.test
    <Directory "Z:/Projects/Web/MetalTxus Site">
        AllowOverride All
        Options Indexes FollowSymLinks
        Require all granted
    </Directory>
</VirtualHost>

Require all granted是Apache 2.4语法,在使用

时使用Apache 2.2语法
Order deny,allow
Allow from all

现在您需要做的就是在“Z:/ Projects / Web / MetalTxus Site”文件夹中放置一个名为index.htmlindex.php的文件。

我建议删除文件夹名称MetalTxus Site中的空格并非绝对必要,但它会消除另一种可能的复杂性。

另外,如果您实际上并不打算将网站访问权限 The Universe 尝试使用

Require local

如果您希望能够从内部网络上的其他PC访问该网站,请使用

Require local
Require ip 192.168.1  

其他建议:

同时检查httpd.con是否有si sline取消注释

LoadModule dir_module modules/mod_dir.so

有这个

<IfModule dir_module>
    DirectoryIndex index.php index.php3 index.html index.htm
</IfModule>