2015-04-04 2 views
0

Я работаю над проектом laravel и развертываю его на сервере Hostgator.Laravel4 удалить public из URL

Все работает нормально, но я не хочу запускать свой сайт, как www.xyz.com/public. Я хочу удалить /public с URL. Для этого я следую this link (Метод II: Перемещение содержимого общей папки в корневой каталог). После этого моя домашняя страница работает нормально на www.xyz.com. Но когда я пытаюсь получить доступ к www.xyz.com/about или www.xyz.com/admin, он возвращает страницу 404, «не найдена ошибка».

Я новичок в laravel Кто-нибудь может предложить мне, что мне делать, чтобы решить эту проблему.

+1

возможно дубликат [Laravel 4 удаления от общественности URL] (http://stackoverflow.com/questions/15586397/laravel-4-removing-public-from- url) – Laurence

+0

Установите корень документа в/public (режим производства). Есть причина, почему существует общая папка! Не предоставляйте доступ к корневой папке! –

ответ

0

Просто следуйте ниже шагов:

1.Create папку myappnamebase в вашем документе корневой папке

2.Put все ваши содержания заявки, за исключением содержимого общих папок в папке myappnamebase

3 .Put все ваши содержимого общих папок в папке public_html

Затем приводят следующие изменения:

Внутри public_html-> index.php

вместо

require __DIR__.'/../bootstrap/autoload.php'; 

добавить

require __DIR__.'/../myappnamebase/bootstrap/autoload.php'; 

вместо

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

добавить

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

Внутри myappnamebase-> bootstrap-> paths.php делать editting так, что он выглядит следующим образом

'app' => __DIR__.'/../myappnamebase/app', 

'public' => __DIR__.'/../public', 

'base' => __DIR__.'/../myappnamebase', 

'storage' => __DIR__.'/../myappnamebase/app/storage', 

Наконец не забудьте загрузить .htaccess в папке public_html. Это должно выглядеть следующим образом:

<IfModule mod_rewrite.c> 
<IfModule mod_negotiation.c> 
    Options -MultiViews 
</IfModule> 

RewriteEngine On 

# Redirect Trailing Slashes... 
RewriteRule ^(.*)/$ /$1 [L,R=301] 

# Handle Front Controller... 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [L]