在XAMPP htdocs之外创建多个vhost时出现403错误

时间:2014-01-23 18:24:46

标签: apache xampp http-status-code-403

我知道这是一个很老的问题,但在尝试找到合适的解决方案时我没有运气。我已经尝试了所有可能的配置,但仍然没有运气。我正在使用laravel处理PHP项目。当我将laravel.labs设置为hhostocs中的vhost时,我完全没有问题。但是当我将它移动到C:\ vhosts的分隔文件夹中时,我收到了403错误。 vhosts文件夹的目的是保存多个vhost。以下是我的配置:

系统: Windows 7 64位 XAMPP v 1.7.7 阿帕奇/ 2.2.21 PHP:5.3.8

httpd.conf:

# Virtual hosts
Include "conf/extra/httpd-vhosts.conf"

的httpd-vhosts.conf

NameVirtualHost *:80
<VirtualHost *:80>
  DocumentRoot C:/xampp/htdocs
  ServerName localhost
</VirtualHost>
<VirtualHost *:80>
  DocumentRoot c:/vhosts/laravel_labs/public
  ServerName laravel.labs
</VirtualHost>

C:\ Windows \ System32下\驱动\等\宿主

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost
127.0.0.1                   laravel.labs

.htaccess(在C:\ vhosts \ laravel_labs \ public中)

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

任何人都可以帮忙找到我错过的东西吗?任何建议的人?感谢

2 个答案:

答案 0 :(得分:1)

每次添加新的Alias或DocumentRoot时,都需要&lt; directory&gt;部分就像您默认的DocumentRoot一样。根据您的发布,这可能类似于

Order deny,allow 

require all granted

答案 1 :(得分:0)

最后我找到了这个问题的答案。我必须在httpd.conf中添加一些行

这样的事情:

Alias /laravel_labs/public "C:/vhosts/laravel_labs/public/"
<Directory "C:/vhosts/laravel_labs/public/">
    AllowOverride All
    Order Allow,deny
    Allow from all
</Directory>

请参阅此处的详细说明: http://www.youtube.com/watch?v=Z250saioXIs