Я новичок в Laravel, я создал виртуальный хост http://example.com и установил Laravel в папке этого домена, но когда я пытаюсь получить доступ к этому домену, я получаю это
Это ваша настройка 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>
Вы должны указать его в public
папку, потому что index.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
for development)
Это именно то, что вы должны видеть. Когда вы нажимаете «общедоступную» папку, вы видите «Вы прибыли», с логотипом laravel? Если да, то вы правильно установили laravel.
«Общая» папка – это основная папка, в которой фактическая публика имеет доступ к вашему веб-сайту, когда вы кладете ее на сервер. Вы захотите сделать одну из двух вещей здесь:
Простой (но небезопасный) способ:
Добавьте файл .htaccess в корень вашей веб-папки, содержащий этот текст:
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^(.*)$ public/$1 [L] </IfModule>
Это приведет к тому, что все запросы перейдут на сайт http://www.example.com/public, но покажут только URL http://www.example.com.
Более жесткий (но правильный) способ:
Это полностью зависит от того, на каком провайдере вы будете размещать свой сайт, но на Godaddy и других, у вас есть возможность выбрать корневую папку вашего сайта. В этом случае вы выбрали бы «общедоступную» папку как root. Я не могу дать вам учебник по этому поводу, потому что этот параметр зависит от доступности для каждого хостинг-провайдера.
EDIT: Я должен добавить на всякий случай. Когда вы добавляете контент на свой сайт, такой как CSS / изображения / файлы и все, к чему у публики будет доступ, убедитесь, что вы поместили их в общую папку.
Конфигурации VirtualHost необходимо указать DirectoryRoot
далее в public/
directory, чтобы он мог использовать свои .htaccess
и index.php
внутри этого каталога.