2014-01-27 4 views
3

Я новичок в Laravel, я сделал виртуальный хост http://example.com и установил Laravel в папке этого домена, но при попытке открыть домен, я получаю этого enter image description hereLaravel не показывая index.php

+0

Показать конфигурацию VirtualHost и убедиться, что модуль vhosts включен в вашем httpd.conf – naththedeveloper

+0

DocumentRoot "C:/xampp/htdocs/example" Пример ServerName.com ServerAlias ​​www.example.com ErrorLog "logs/www.example.com.domain-error.log" php12345

ответ

10

Это ваш VirtualHost установка

<VirtualHost *:80> 
    DocumentRoot "C:/xampp/htdocs/example" ## <-- pointed to wrong folder 
    ServerName example.com 
    ServerAlias www.example.com 
    ErrorLog "logs/www.example.com.domain-error.log" 
</VirtualHost> 

Вы не указали его в папку public. Оно должно быть (Это минимальные требования)

<VirtualHost *.80> 
    DocumentRoot "C:/xampp/htdocs/example/public" 
    ServerName example.com 
</VirtualHost> 

Вы должны указать его в папку publicindex.php, потому что находится внутри public папки.

Я использую этот вид установки

<VirtualHost laravel4.dev> 
    DocumentRoot "D:/xampp/htdocs/laravel4/public" 
    ServerName laravel4.dev 
</VirtualHost> 

соответствующие настройки в windows/system32/drivers/etc/host файле

127.0.0.2   ci.dev 
127.0.0.3   laravel4.dev ## <-- This is for current vHost 
127.0.0.4   symcom.dev 

Таким образом, я могу перейти на мой сайт на локальном хосте с помощью http://laravel4.dev (dev для развития)

+0

Большое спасибо! :) – php12345

+0

@ php12345, Welcome :-) –

+1

Жаль, что я бы не нашел этот пост, когда я был в Google, в ту же самую проблему ... Я собрал его, наконец, и это сработало, но это спасло бы меня какое-то горе! – AVProgrammer

2
потребности конфигурации

Вы VirtualHost до пункта DirectoryRoot далее в каталог public/, поэтому он может использовать его .htaccess и index.php внутри этого каталога.

3

Это именно то, что вы должны видеть. Когда вы нажимаете «общедоступную» папку, вы видите «Вы прибыли», с логотипом laravel? Если да, то вы правильно установили laravel.

«Общая» папка - это основная папка, в которой фактическая публика имеет доступ к вашему веб-сайту, когда вы кладете ее на сервер. Вы хотите, чтобы сделать один из двух вещей здесь:

Простой (но небезопасный) способ:

Добавить файл .htaccess в корневой папке веб-папку, содержащую этот текст:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteRule ^(.*)$ public/$1 [L] 
</IfModule> 

Это сделает все запросы на www.example.com/public, но покажет только URL www.example.com.

Чем сложнее (но правильный) способ:

Это полностью зависит от того, какой провайдер вы будете хостинг для вашего сайта, но на Godaddy и других, у вас есть возможность выбрать корневую папку вашего сайта , В этом случае вы выбрали бы «общедоступную» папку как root. Я не могу дать вам учебник по этому поводу, потому что этот параметр зависит от доступности для каждого хостинг-провайдера.

EDIT: Я должен добавить на всякий случай. Когда вы добавляете контент на свой сайт, такой как CSS/изображения/файлы и все, к чему у публики будет доступ, убедитесь, что вы поместили их в общую папку.

Смежные вопросы