2014-01-25 3 views
1

У меня проблема при загрузке проекта laravel на моем общем хостинге. На этом хостинге у меня есть два домена аддона с отдельными папками в корневом каталоге документа. Но когда я помещаю проект laravel в корневой каталог документа и перемещаю все из общей папки в корневом каталоге, чтобы удалить этот «/ public» из URL-адреса, я не могу получить доступ к моим доменам аддона. Я получаю 500 ошибок внутренней службы. Когда я удаляю файл .htaccess, я могу получить доступ к моим другим доменам, но я не могу получить доступ к моему проекту Laravel. Как я могу изменить файл laravel по умолчанию .htaccess?Измените файл .htaccess в laravel 4

ответ

2

Ну, вы не должны move everything from public folder, это очень важная часть вашего приложения Laravel, он был построен таким образом, чтобы отделить ваш исходный код приложения от общедоступных файлов, к которым любой пользователь может получить доступ, если вы внесете свой корень приложения и свою публикацию папка, любой сможет получить доступ к любым php-файлам из вашего приложения, и это так опасно ...

Что вам нужно сделать, это указать корень вашего документа на /serverRoot/applicationRoot/public.

Если вы действительно не можете сделать это, я боюсь, вам придется редактировать index.php и попытаться изменить Thos две строки:

require __DIR__.'/../bootstrap/autoload.php'; 
$app = require_once __DIR__.'/../bootstrap/start.php'; 

к

require __DIR__.'/bootstrap/autoload.php'; 
$app = require_once __DIR__.'/bootstrap/start.php'; 

И посмотреть, если это работает для тебя.

EDIT

Laravel по умолчанию .htaccess файл существует только для перезаписи ваших URL-адресов, так что вы не t see a index.php` на них. В основном это 2 вещи:

1) Если вы заходите на свой сайт, используя http://www.site.com/, внутренне он укажет на http://www.site.com/index.php.

2) Когда вы получаете доступ к своему сайту с помощью http://www.site.com/index.php, он скрывает часть index.php.

Это своего рода рекурсивный, потому что первый шаг приводит ко второму.

Теперь вам нужно подумать и посмотреть, как это противоречит вашим другим доменам, потому что файлы, которые вы обслуживаете в этих доменах, имеют значение, и поскольку мы не знаем, что они собой представляют, помощь в более сложном виде.

+0

Да, я изменил эти строки в index.php и bootstrap/routes.php, но я думаю, что проблема в файле .htaccess. Когда .htaccess существует проект laravel, но аддоны домена не используются. Когда я удаляю файл .htaccess, другие домены работают, но laravel project dont –

+0

Проверьте, работает ли он (без .htaccess), если вы используете 'http: // www.site.com/index.php /'. –

+0

Да, он работает. Но как я могу настроить перенаправление на /index.php? –

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