我知道这是一个很老的问题,但在尝试找到合适的解决方案时我没有运气。我已经尝试了所有可能的配置,但仍然没有运气。我正在使用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>
任何人都可以帮忙找到我错过的东西吗?任何建议的人?感谢
答案 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