2016-12-26 1 views
1

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

Я использовал FileZilla для передачи всех файлов с моей локальной машины на веб-хостинг.

so/public_html содержит все мои файлы и папки в laravel.

Однако, когда я перехожу на mydomain.com, я получаю страницу поставщика по умолчанию. Когда я перехожу на mydomain.com/public, я получаю белую страницу без ошибок.

Почему я получаю белую страницу при посещении mydomain.com/public?

Также, как я могу сделать mydomain.com ссылкой на общий каталог laravel?

+0

Кто вы используете для хостинга? Вероятно, это лучший вопрос для нас тогда для нас. – JRLambert

ответ

0

1) Почему я получаю белую страницу при посещении mydomain.com/public?

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

2) как я могу сделать mydomain.com ссылкой на общий каталог laravel?

Вот легкий способ сдачи Laravel публичного каталога. *

Прежде всего, в корневой папке установки Laravel вы должны либо скопировать или переименовать файл server.php в index.php, то вы можете использовать .htaccess так что вы можете получить доступ только index.php или ресурсы, такие как CSS, JS, шрифты, изображения и т.д .., которые должны быть расположены в public/

Вот .htaccess я использую: (поместить это в корне Laravel/тот же каталог server.php)

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)/$ /$1 [L,R=301] 

RewriteCond %{REQUEST_URI} ! (\.ttf|\.woff|\.woff2|\.css|\.js|\.png|\.jpg|\.gif|robots\.txt)$ [NC] 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [L] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !^/public/ 
RewriteRule ^(css|js|images|fonts)/(.*)$ public/$1/$2 [L,NC] 

RewriteCond $1 !^(index\.php) 
RewriteRule ^(.*)$ index.php [L] 

* (обратите внимание, что это решение должно быть использовано только если у вас нет другого выбора, кроме ввода Laravel внутри папки общего доступа)

+0

У меня есть папка с папкой '777', поэтому это не проблема. как только я переименовал server.php в index.php, а затем поместил файл .htaccess. Я не получаю ошибку 500 Internal Server. – Jaylen

+0

Соответствует ли ваш сервер требованиям для laravel 5.2 и поддерживает ли mod_rewrite? – Andy

+0

Он должен! Я хостинг на fastcomet.com. – Jaylen

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