«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как разместить проект Laravel в подкаталоге на общем хостинге, не раскрывая `/public` в URL-адресе

Как разместить проект Laravel в подкаталоге на общем хостинге, не раскрывая `/public` в URL-адресе

Опубликовано 17 ноября 2024 г.
Просматривать:558

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

При размещении проекта Laravel на общем хостинге одной из распространенных проблем является обеспечение того, чтобы URL-адреса не требовали каталога /public. Вот пошаговое руководство по размещению вашего приложения Laravel в подкаталоге, сохраняя при этом URL-адреса чистыми.

Шаг 1. Загрузите свой проект Laravel на сервер

  1. Войдите в свою учетную запись хостинга и получите доступ к файловому менеджеру.
  2. Перейдите в папку public_html или в основной каталог вашего веб-сайта.
  3. Создайте новую папку (подкаталог) для вашего проекта Laravel. В этом примере мы назовем егоookbox-api.
  4. Загрузите весь проект Laravel в папкуookbox-api.

Шаг 2. Переместите index.php в корень подкаталога.

  1. Откройте папкуookbox-api/public.
  2. Скопируйте (или переместите) файл index.php из общедоступного каталога в корень Hookbox-api.
  3. Откройте скопированный файл index.php в корне перехватчика-api и обновите пути к файлам следующим образом:
   require __DIR__.'/vendor/autoload.php';
   $app = require_once __DIR__.'/bootstrap/app.php';

Это указывает Laravel искать необходимые файлы в корне проекта, а не в общедоступных.

Шаг 3. Переместите файл .htaccess в корень подкаталога.

  1. Далее переместите файл .htaccess из общей папки в корень Хукбокс-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]

Этот код гарантирует, что все входящие запросы направляются на index.php в папке ловушки-api. Он также принудительно использует HTTPS, если на вашем сайте включен SSL.

Шаг 4. Очистите кеш Laravel (необязательно, но рекомендуется)

Если у вас есть доступ по SSH, очистка кэшированной конфигурации и маршрутов всегда рекомендуется после любых изменений в развертывании. Запустите эти команды, чтобы убедиться в отсутствии конфликтов кэшированной конфигурации:

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

Шаг 5. Проверьте свою настройку

Теперь вы сможете получить доступ к своему приложению Laravel в браузере без необходимости использования /public в URL-адресе. Попробуйте получить доступ к такому маршруту, как:

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

Если установка прошла успешно, загрузка должна пройти без ошибок.

Заключение

Переместив index.php и .htaccess в корень вашего подкаталога и обновив пути к файлам, вы эффективно настроили запуск Laravel, не раскрывая каталог /public в URL-адресе. Этот метод полезен при работе с виртуальным хостингом, поскольку он обеспечивает более чистую и профессиональную структуру URL-адресов.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/msnmongare/how-to-host-a-laravel-project-in-a-subdirectory-on-shared-hosting-without-expose-public-in-the-. url- 50cp?1 Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить их.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3