让 Apache VHost 加载 index.html 而不是 Web 目录
Get Apache VHost to load index.html instead of web directory
我找不到这个问题的答案所以我自己问这个问题。
为了让我的 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" 更改为“-Indexes”,以使 Web 加载 "index.html" 而不是 Web 目录。
但是,当我这样做时,我的 WAMPServer 不会启动。如果我删除了 "FollowSymLinks" 选项,但我得到的只是一个“403 - Forbidden”页面("you don't have permission to access "/“在此服务器上”)。
由于寻找解决方案无济于事,我将其用作最后的资源。
我在 Windows 8.1 中使用最新的 WampServer 版本。我想测试一个 AngularJS 应用程序。
如果您需要更多信息,请继续询问。
试试这个:-
<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.html
或 index.php
的文件。
我建议删除文件夹名称中的 space MetalTxus Site
这不是绝对必要的,但它消除了另一种可能的复杂性。
此外,如果您实际上并不是要向 The Universe 授予站点访问权限,请尝试使用
Require local
如果您希望仅通过内部网络上的其他 PC 访问该站点,请使用
Require local
Require ip 192.168.1
补充建议:
还要检查 httpd.con 是否取消注释该行
LoadModule dir_module modules/mod_dir.so
安有这个
<IfModule dir_module>
DirectoryIndex index.php index.php3 index.html index.htm
</IfModule>
我找不到这个问题的答案所以我自己问这个问题。
为了让我的 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" 更改为“-Indexes”,以使 Web 加载 "index.html" 而不是 Web 目录。
但是,当我这样做时,我的 WAMPServer 不会启动。如果我删除了 "FollowSymLinks" 选项,但我得到的只是一个“403 - Forbidden”页面("you don't have permission to access "/“在此服务器上”)。
由于寻找解决方案无济于事,我将其用作最后的资源。
我在 Windows 8.1 中使用最新的 WampServer 版本。我想测试一个 AngularJS 应用程序。
如果您需要更多信息,请继续询问。
试试这个:-
<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 语法,您在使用
Order deny,allow
Allow from all
现在您需要做的就是在 "Z:/Projects/Web/MetalTxus Site" 文件夹中放置一个名为 index.html
或 index.php
的文件。
我建议删除文件夹名称中的 space MetalTxus Site
这不是绝对必要的,但它消除了另一种可能的复杂性。
此外,如果您实际上并不是要向 The Universe 授予站点访问权限,请尝试使用
Require local
如果您希望仅通过内部网络上的其他 PC 访问该站点,请使用
Require local
Require ip 192.168.1
补充建议:
还要检查 httpd.con 是否取消注释该行
LoadModule dir_module modules/mod_dir.so
安有这个
<IfModule dir_module>
DirectoryIndex index.php index.php3 index.html index.htm
</IfModule>