Настройка Laravel 4 Virtual Host и mod rewrite

Я пытался установить несколько часов для установки 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, я получаю внутреннюю ошибку сервера. Сервер обнаружил внутреннюю ошибку или неправильную конфигурацию и не смог выполнить ваш запрос. ,

Если я удалю файл .htaccess из общей папки, тогда я увижу сообщение Laravel «Вы пришли». Если тогда, я создаю такой маршрут (в приложении \ routes.php ):

 Route::get('/newroute', function() { return View::make('hello'); }); 

а затем перейдите на страницу http://laravel.dev/newroute. В итоге у меня будет 404 Not Found. Запрошенный URL / newroute не найден на этом сервере.

Я серьезно запутался и понятия не имею, как я могу пройти мимо этого. Я упоминаю (хотя я думаю, что это понятно), что я запускал composer install после клонирования шаблона проекта, установки зависимостей.

Если файл htaccess, который вы разместили, находится в вашей /public/ папке, вот почему вы получаете ошибку внутреннего внутреннего сервера. Этот файл htaccess был создан для папки, в которой находится папка /public/ . Но поскольку ваша общая папка является корнем документа, вам это не нужно.

Файл htaccess в папке /public/ должен выглядеть следующим образом:

 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-vhosts.conf в httpd.conf.

#Include conf/extra/httpd-vhosts.conf

Я удалил # комментарий. Перезапустил войну и работал.

Include conf/extra/httpd-vhosts.conf