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

Barbara Streisand
풀어 주다: 2024-11-07 20:07:03
원래의
1050명이 탐색했습니다.

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 파일을 public에서 Hookbox-api의 루트로 복사(또는 이동)하세요.
  3. hookbox-api 루트에 복사된 index.php 파일을 열고 파일 경로를 다음과 같이 업데이트하세요.
   require __DIR__.'/vendor/autoload.php';
   $app = require_once __DIR__.'/bootstrap/app.php';
로그인 후 복사

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

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

  1. 다음으로, public 폴더에 있는 .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 구조를 유지하므로 공유 호스팅 작업 시 유용합니다.

위 내용은 URL에 '/public'을 노출하지 않고 공유 호스팅의 하위 디렉터리에서 Laravel 프로젝트를 호스팅하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿