"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > URL에 '/public'을 노출하지 않고 공유 호스팅의 하위 디렉터리에서 Laravel 프로젝트를 호스팅하는 방법

URL에 '/public'을 노출하지 않고 공유 호스팅의 하위 디렉터리에서 Laravel 프로젝트를 호스팅하는 방법

2024년 11월 17일에 게시됨
검색:460

How to Host a Laravel Project in a Subdirectory on Shared Hosting without Exposing `/public` in the URL

공유 호스팅에서 Laravel 프로젝트를 호스팅할 때 일반적인 과제 중 하나는 URL에 /public 디렉터리가 필요하지 않은지 확인하는 것입니다. URL을 깨끗하게 유지하면서 Laravel 앱을 하위 디렉터리에 호스팅하는 방법에 대한 단계별 가이드는 다음과 같습니다.

1단계: Laravel 프로젝트를 서버에 업로드

  1. 호스팅 계정에 로그인하고 파일 관리자에 액세스하세요.
  2. public_html 폴더나 웹사이트의 기본 디렉토리로 이동하세요.
  3. Laravel 프로젝트를 위한 새 폴더(하위 디렉터리)를 만듭니다. 이 예에서는 이름을 Hookbox-api로 지정하겠습니다.
  4. 전체 Laravel 프로젝트를 Hookbox-api 폴더에 업로드하세요.

2단계: index.php를 하위 디렉터리의 루트로 이동

  1. hookbox-api/public 폴더를 엽니다.
  2. index.php 파일을 공개에서 Hookbox-api의 루트로 복사(또는 이동)합니다.
  3. hookbox-api 루트에 복사된 index.php 파일을 열고 다음과 같이 파일 경로를 업데이트하세요.
   require __DIR__.'/vendor/autoload.php';
   $app = require_once __DIR__.'/bootstrap/app.php';

이는 Laravel이 공개 대신 프로젝트 루트에서 필요한 파일을 찾도록 지시합니다.

3단계: .htaccess 파일을 하위 디렉터리의 루트로 이동

  1. 다음으로 .htaccess 파일을 공용 폴더에서 Hookbox-api의 루트로 이동합니다.
  2. 이 .htaccess 파일의 내용을 다음으로 바꾸십시오.
   RewriteEngine On

   # Force HTTPS
   RewriteCond %{HTTPS} off
   RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

   # Redirect all requests to index.php
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteRule ^ index.php [L]

이 코드는 들어오는 모든 요청이 Hookbox-api 폴더의 index.php로 전달되도록 합니다. 또한 사이트에 SSL이 활성화되어 있으면 HTTPS를 강제 적용합니다.

4단계: Laravel의 캐시 지우기(선택 사항이지만 권장됨)

SSH 액세스 권한이 있는 경우 배포 변경 후에는 항상 캐시된 구성 및 경로를 지우는 것이 좋습니다. 캐시된 구성 충돌이 남아 있지 않도록 하려면 다음 명령을 실행하십시오.

php artisan route:cache
php artisan config:cache
php artisan cache:clear

5단계: 설정 테스트

이제 URL에 /public을 입력하지 않고도 브라우저에서 Laravel 애플리케이션에 액세스할 수 있습니다. 다음과 같은 경로에 액세스해 보세요.

https://www.yourdomain.com/hookbox-api/api/your-route

설정이 성공했다면 오류 없이 로드되어야 합니다.

결론

index.php 및 .htaccess를 하위 디렉터리의 루트로 이동하고 파일 경로를 업데이트함으로써 URL에 /public 디렉터리를 노출하지 않고 Laravel이 실행되도록 효과적으로 구성했습니다. 이 방법은 더 깔끔하고 전문적인 URL 구조를 유지하므로 공유 호스팅 작업 시 유용합니다.

릴리스 선언문 이 기사는 https://dev.to/msnmongare/how-to-host-a-laravel-project-in-a-subdirectory-on-shared-hosting-without-exposing-public-in-the-에서 재현됩니다. url- 50cp?1 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제해 주시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3