我已经尝试了几个小时来安装Laravel 4,并使虚拟主机和路由工作,但到目前为止,我一直不走运。 我提到,我正在Windows 7机器和WAMP上做这个。
我会描述我已经做了什么:
我已经启用了rewrite_module。
用以下命令更新了httpd-vhosts.conf:
<VirtualHost *:80> DocumentRoot "c:/wamp/www/laravel/public" ServerName laravel.dev ServerAlias www.laravel.dev </VirtualHost>
接下来,我设置了etc/hosts
:
127.0.0.1 localhost 127.0.0.1 laravel.dev
另外,在wamp/../conf/httpd.conf
和wamp/.../conf/original/httpd.conf
,以下行都是未注释的:
LoadModule vhost_alias_module modules/mod_vhost_alias.so Include conf/extra/httpd-vhosts.conf
我的.htaccess
的内容如下:
<IfModule mod_rewrite.c> Options -MultiViews RewriteEngine On RewriteRule ^(.*)$ public/$1 [L] </IfModule>
然而,当我去http://laravel.dev我得到一个内部服务器错误 – 服务器遇到内部错误或configuration错误,无法完成您的请求。 。
如果我从公用文件夹中删除.htaccess
文件,那么我会看到Laravel“你已经到达”的消息。 如果那么,我创build一个这样的路线(在应用程序\ routes.php内 ):
Route::get('/newroute', function() { return View::make('hello'); });
然后去http://laravel.dev/newroute我将最终得到404 Not Found – 在这台服务器上找不到请求的URL / newroute。
我感到非常困惑,不知道我怎么能通过这个。 我提到(虽然我认为很清楚),我在克隆项目模板之后运行了composer install
,安装了依赖关系。
如果您发布的htaccess文件在您的/public/
文件夹中,那么这就是为什么您会收到500内部服务器错误。 该htaccess文件是为/public/
文件夹所在的文件夹制作的 。 但是由于您的公用文件夹是文档根目录,所以您不需要它。
/public/
文件夹中的htaccess文件应该如下所示:
Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]
(用于WAMP)。
尝试打开目录上的AllowOverride All,将VirtualHost更改为:
<VirtualHost *:80> DocumentRoot "c:/wamp/www/laravel/public" serverName laravel.dev serverAlias www.laravel.dev <Directory "c:/wamp/www/laravel/public"> AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
我已经经历了同样的问题,并遵循上面给出的所有处理,但虚拟主机不能设置。
当我检查文件http.conf
然后我发现包含文件httpd-vhosts.conf
评论如下。 确保在httpd.conf中包含httpd-vhosts.conf
。
#Include conf/extra/httpd-vhosts.conf
我删除了#
评论。 重新启动了Wamp,它正在工作。
Include conf/extra/httpd-vhosts.conf