저는이 문제에 대한 답을 찾기 위해 노력해 왔으며 정확한 문제가있는 사람을 찾을 수 없으며 다른 누군가가이 문제를 겪고 있기를 기대했습니다.하위 디렉토리에 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>
사이트에서 사용하는 웹 서버는 무엇입니까? –
Apache/2.2.22 (Debian) –
죄송합니다. 내 질문에 경로에'~ username'이 포함되어있는 것을 보았 기 때문에 제 대답을 삭제했습니다. –