添加 VirtualHost 失败: 访问禁用错误403(XAMPP)(Windows7)

我在 Windows7上安装了 XAMPP。

一旦我将一个 VirtualHost 添加到 httpd-vhosts. conf 中,“常规”http://localhost和新的 dropbox.local都不能正常工作。

下面是我在 httpd-vhosts.conf中加入的内容:

<VirtualHost *:80>
ServerAdmin postmaster@dummy-host.localhost
DocumentRoot "E:/Documenten/Dropbox/Dropbox/dummy-htdocs"
ServerName dropbox.local
ServerAlias www.dropbox.local
ErrorLog "logs/dropbox.local-error.log"
CustomLog "logs/dropbox.local-access.log" combined
</VirtualHost>

所以我查了我的 dropbox.local-error.log,看看有没有什么信息:

[Thu Feb 02 10:41:57 2012] [error] [client 127.0.0.1] client denied by server configuration: E:/Documenten/Dropbox/Dropbox/dummy-htdocs/

这个错误似乎可以通过添加

<directory "E:/Documenten/Dropbox/Dropbox/dummy-htdocs">
Allow from all
</directory>

但是现在我在 dropbox.local-error.log中得到了这个错误:

[Thu Feb 02 10:45:56 2012] [error] [client ::1] Directory index forbidden by Options directive: E:/Documenten/Dropbox/Dropbox/dummy-htdocs/

此外,当我尝试访问 http://localhost时,在常规的 error.log中不会得到任何错误,尽管在我尝试访问它时会得到 error 403

有人能帮帮我吗... 这快把我逼疯了: S

编辑: 同样在 httpd.conf中也有以下内容(我已经看到它被多次提及,所以在任何人说之前) :

<IfModule dir_module>
DirectoryIndex index.php index.pl index.cgi index.asp index.shtml index.html index.htm \
default.php default.pl default.cgi default.asp default.shtml default.html default.htm \
home.php home.pl home.cgi home.asp home.shtml home.html home.htm
</IfModule>
250838 次浏览

好了,这就是我现在做的,问题解决了:

我的 httpd-vhosts.conf现在是这样的:

<VirtualHost dropbox.local:80>
DocumentRoot "E:/Documenten/Dropbox/Dropbox/dummy-htdocs"
ServerName dropbox.local
ErrorLog "logs/dropbox.local-error.log"
CustomLog "logs/dropbox.local-access.log" combined
<Directory "E:/Documenten/Dropbox/Dropbox/dummy-htdocs">
# AllowOverride All      # Deprecated
# Order Allow,Deny       # Deprecated
# Allow from all         # Deprecated


# --New way of doing it
Require all granted
</Directory>
</VirtualHost>

首先,我看到有必要设置 <Directory xx:xx>选项,所以我把 <Directory > [..] </Directory>部分放在 <VirtualHost > [..] </VirtualHost>内部。 之后,我将 AllowOverride AuthConfig Indexes添加到 <Directory>选项中。

现在 http://localhost也指向下拉框-虚拟主机。所以我把 dropbox.local加到 <VirtualHost *:80>,使它成为 <VirtualHost dropbox.local:80>

终于成功了 D!

我是个快乐的人! :) :)

我希望有其他人可以使用这个信息。

谢谢,成功了,但我换了这个

AllowOverride AuthConfig Indexes

用那个

AllowOverride All

否则,. htaccess 无法工作: 我遇到了 RewriteEngine 和错误消息“ RewriteEngine 不允许在这里”的问题。

对我来说,当我把“目录”的内容变成这样的时候:

<Directory  "*YourLocation*">
Options All
AllowOverride All
Require all granted
</Directory>

对我来说(同样是 Windows 7上的 XAMPP) ,这就是成功之处:

<Directory "C:\projects\myfolder\htdocs">`
AllowOverride All
Require all granted
Options Indexes FollowSymLinks
</Directory>`

正是这条线会导致403:

Order allow,deny

我在 Windows7.这篇文章上使用 XAMPP 1.6.7。

我在 C:/xampp/apache/conf/extrahttpd-vhosts.conf文件中添加了以下行。
我还取消了 # NameVirtualHost *:80行的注释

<VirtualHost mysite.dev:80>
DocumentRoot "C:/xampp/htdocs/mysite"
ServerName mysite.dev
ServerAlias mysite.dev
<Directory "C:/xampp/htdocs/mysite">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

重新启动阿帕奇后,它仍然不工作。 然后,我必须按照文章中提到的步骤9编辑文件 C:/Windows/System32/drivers/etc/hosts

# localhost name resolution is handled within DNS itself.
127.0.0.1       localhost
::1             localhost
127.0.0.1       mysite.dev

然后我开始工作 http://mysite.dev

上面的建议对我来说不起作用,我用从 Http://butlerccwebdev.net/support/testingserver/vhosts-setup-win.html

对于 httpd-vhosts. conf 中的 Http

<Directory "D:/Projects">
AllowOverride All
Require all granted
</Directory>


##Letzgrow
<VirtualHost *:80>
DocumentRoot "D:/Projects/letzgrow"
ServerName letz.dev
ServerAlias letz.dev
</VirtualHost>

用于在 httpd-SSL. conf 中使用 Https (Open SSL)

<Directory "D:/Projects">
AllowOverride All
Require all granted
</Directory>


##Letzgrow
<VirtualHost *:443>
DocumentRoot "D:/Projects/letzgrow"
ServerName letz.dev
ServerAlias letz.dev
</VirtualHost>

希望它能帮到别人! !

我使用的是 xampp1.7.3

我没有在 Httpd-vhosts. conf中添加 <Directory> .. </Directory>,而是在 <Directory "D:/xampplite/cgi-bin"> .. </Directory>之后在 Http://httpd.conf/中添加它。

下面是我在 httpd.conf 中添加的内容:

<Directory "D:/CofeeShop">
AllowOverride All
Options  All
Order allow,deny
Allow from all
</Directory>

下面是我在 httpd-vhosts. conf 中添加的内容

<VirtualHost *:8001>
ServerAdmin postmaster@dummy-host2.localhost
DocumentRoot "D:/CofeeShop"
ServerName localhost:8001
</VirtualHost>

我还在 httpd.conf 中添加了 Listen 8001来完成我的设置。

希望能有帮助

对许多人来说,这是一个许可问题,但对我来说,这个错误是由我试图提交的表单中的一个错误引起的。具体来说,我不小心在“ action”的值后面加了一个“大于”符号。所以我建议你再看一下你的代码。

经过这么多的改变,尝试和回答。 为了

SOS: Windows7/Windows10

Xampp Version: Xampp 或 Xampp 便携式7.1.18/7.3.7(控制面板 v3.2.4)

安装程序: win32-7.1.18-0-VC14-installer/xampp-windows-x64-7.3.7-0-VC15-installer

  1. 不要编辑其他文件,如 httpd-xampp

  2. 阻止阿帕奇

  3. 打开位于 **your_xampp_directory**\apache\conf\extra\中的 Httpd-vhosts. conf(您的 XAMPP 目录在默认情况下可能是 C:/xampp/htdocs)

  4. 删除以下行之前的散列(aprox.line 20) : NameVirtualHost *:80(这可能是可选的)

  5. 考虑目录路径,在文件末尾添加以下虚拟主机:

    ##127.0.0.1
    <VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs"
    ServerName localhost
    ErrorLog "logs/localhost-error.log"
    CustomLog "logs/localhost-access.log" common
    </VirtualHost>
    
    
    ##127.0.0.2
    <VirtualHost *:80>
    DocumentRoot "F:/myapp/htdocs/"
    ServerName test1.localhost
    ServerAlias www.test1.localhost
    ErrorLog "logs/myapp-error.log"
    CustomLog "logs/myapp-access.log" common
    <Directory  "F:/myapp/htdocs/">
    #Options All # Deprecated
    #AllowOverride All # Deprecated
    Require all granted
    </Directory>
    </VirtualHost>
    
  6. 编辑(通过管理访问) 主持人文件(位于 Windows\System32\drivers\etc,但使用以下提示 每个域只有一个环回 IP:

    127.0.0.1 localhost
    127.0.0.2 test1.localhost
    127.0.0.2 www.test1.localhost
    

对于每个实例,重复第二个块,第一个块是主块,仅用于“默认”目的。