2017-02-26 2 views
0

하위 폴더에 laravel을 설치했다고 가정 해 봅시다. 모든 앱을 html 루트 외부에 배치하고 "laravel"의 "public"디렉토리 이름을 변경 한 다음 html 루트 .
은 내가 루트 HTML 폴더에 다음의 .htaccess를 사용
www.mydomain.com/laravel에 연결하여 응용 프로그램을 볼 수 있습니다하위 폴더에 laravel 설치 리다이렉트

RewriteEngine on 

RewriteCond %{HTTP_HOST} ^(www.)?mydomain.com$ 
RewriteCond %{REQUEST_URI} !^/laravel/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /laravel/$1 

RewriteCond %{HTTP_HOST} ^(www.)?mydomain.com$ 
RewriteRule ^(/)?$ laravel/ [L] 

지금 내가 www.mydomain에서 직접 내 사이트에 액세스 할 수 있습니다. com
하지만 www.mydomain.com/laravel ...에서 여전히 액세스 할 수 있습니다. 모든 링크는 기본 URL에서 시작하여 생성되므로 메뉴 및 모든 앵커 href는 www.mydomain.com/을 가리 킵니다. laravel ... 심지어 페이지의 표준 링크는 "laravel"을 포함합니다.
질문 :

  1. 이를 방지 할 수있는 방법이있다?
  2. 이 문제에 대해 걱정해야합니까?

도움 주셔서 감사합니다.

답변

0

아파치를 사용하는 경우 호스트를 구성해야합니다. http-vhosts.conf 또는 httpd.conf 또는 이와 유사한 파일

<VirtualHost > 
    ... 
    <Directory "path/to/your/root/html/laravel"> 

    </Directory> 
</VirtualHost> 

그래서 당신이 할 필요가 html 디렉토리의 내부에 laravel 폴더에 직접 가리 키도록 디렉토리 경로를 변경합니다.

당신이 할 경우, 당신은 .htaccess

RewriteCond %{REQUEST_URI} !^/laravel/ 
... 
RewriteRule ^(/)?$ laravel/ [L] 

에 추가 된 줄을 제거 그리고 거기에서 직접 페이지를 제공 할 수 있도록 다시 laravel 디렉토리에 .htaccess 파일을 배치합니다.

관련 문제