Laravel 4 虚拟主机和 mod 重写设置

2023-11-26

我已经尝试了几个小时来安装 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 and in 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>

Yet,当我去http://laravel.dev我得到一个内部服务器错误 - 服务器遇到内部错误或配置错误,无法完成您的请求。.

如果我删除.htaccess文件来自public文件夹,然后我会看到 Laravel“您已到达”消息。如果那么,我创建一条像这样的路线(在应用程序\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/ folder is in。但由于您的公用文件夹是文档根目录,因此您不需要它。

.htaccess 文件in the /public/文件夹应如下所示:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

(对于 WAMP)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 4 虚拟主机和 mod 重写设置 的相关文章