2014-11-25 6 views
1

저는이 문제에 대한 답을 찾기 위해 노력해 왔으며 정확한 문제가있는 사람을 찾을 수 없으며 다른 누군가가이 문제를 겪고 있기를 기대했습니다.하위 디렉토리에 Laravel 설치하기

로컬에 가상 호스트를 사용하여 설치 한 Laravel을 루트에 설치했습니다. 이제이 설치를 다른 서버 http://domain.com/~username에 옮겨야하고, 내 모든 파일은 /~username/이고, http://domain.com/~username에서 public 폴더에 액세스하려면 .htaccess을 사용하고 있습니다.

내 경로도 올바르게 설정했으며 내 사이트 URL은 app.php입니다.

내 경로를 제외한 모든 것이 거의 작동합니다.

내가 http://domain.com/~username로 이동하면 나는이 NotFoundHttpException

이 내 홈페이지 내 경로입니다 얻을 :

Route::get('/', function() { ... });

내가

Route::get('/~username', function() { ... });

로 변경할 경우를 보여줍니다 나 홈페이지. 이것은 이상적이고 일종의 해커가 아니며 단지 홈페이지보다 많은 문제가 있습니다. Laravel 그것이 /~username/을 루트 폴더에 설치하고, 아니에요 생각하기 때문에

나는 거의 모든 것을 다른 문제에 봉착했습니다.

내 질문은 http://domain.com/~username/에 설치되어 있고 http://domain.com/에 설치되어 있지 않다는 것을 Laravel에게 알리려면 어떻게해야합니까?

편집 : .htaccess 파일을 추가

내 루트에서 현재의 .htaccess 파일 (/ ~ 사용자 이름)

<IfModule mod_rewrite.c> 

    RewriteEngine on 
    RewriteBase /~username/ 

    RewriteCond %{THE_REQUEST} ^GET\ /public/ [NC] 
    RewriteRule ^public/(.*)$ $1 [L,R=301,NE] 

    RewriteRule ^((?!public/).*)$ public/$1 [L,NC] 

</IfModule> 

및/공공

<IfModule mod_rewrite.c> 
    Options -MultiViews 
    RewriteEngine On  
    RewriteBase /~username/ 

    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule . index.php [L] 
</IfModule> 
+0

사이트에서 사용하는 웹 서버는 무엇입니까? –

+0

Apache/2.2.22 (Debian) –

+0

죄송합니다. 내 질문에 경로에'~ username'이 포함되어있는 것을 보았 기 때문에 제 대답을 삭제했습니다. –

답변

1
에서 htaccess로 파일

귀하의 질문을 올바르게 이해하지 못했을 수도 있지만 여기에 내 해결책이 있습니다. 나는이 작동하는지 모르겠어요

return array(
    'app' => __DIR__.'~username/../app', 
    'public' => __DIR__.'~username/../public', 
    'base' => __DIR__.'~username/..', 
    'storage' => __DIR__.'~username/../app/storage', 
) 

:

이동 /bootstrap/paths.php하고 변화. 나는 그것을 시도하지 않았다.

관련 문제