Удаление / publi c из URL в Laravel 7 - PullRequest
0 голосов
/ 19 июня 2020

Хотя есть сотни подобных вопросов, но ни один из них не решает мою проблему. Я установил приложение Laravel 7.14.1 и загрузил его на общий хост.

Чтобы оно работало на общем хосте, я сделал следующие шаги:

1 - переименовано server. php в индекс. php

2- Перемещен .htaccess в root

3- В .htaccess я поместил следующие правила:

RewriteEngine On

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.gif|robots\.txt)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(css|js|images)/(.*)$ public/$1/$2 [L,NC]

4- Создан тестовый маршрут, например:

Route::get('/test', function () {
    return 'HI';
});

Теперь, когда я посещаю domain.com/test, он выдает ошибку 404 Но когда я посещаю doamin.com/public/test, он работает

Как я могу удалить часть / publi c из моего URL?

Ответы [ 3 ]

0 голосов
/ 20 июня 2020

Самое простое и безопасное решение для общих хостингов:

  1. Go на ваш Laravel / Lumen root путь от S SH
  2. Запустите mv .htaccess .htaccess-BACKUP для резервного копирования ваш текущий .htaccess
  3. Бег cp public/index.php ./ && cp public/.htaccess ./
  4. Наслаждайтесь :)

ПРИМЕЧАНИЕ. Если у вас нет доступа к S SH, вы можете точно так же вручную из cPanel> File Manager

0 голосов
/ 20 июня 2020

Простой способ решить эту проблему.

  1. Сначала загрузите содержимое папки publi c на локальном компьютере в public_ html на веб-сервере.
  2. загружайте каждые другие файлы и папки за пределами public_ html.
  3. и готово, обновление файлов конфигурации не требуется.

Сообщите мне, как это происходит

0 голосов
/ 19 июня 2020

Ниже приведены шаги, которые вы можете выполнить, чтобы разместить свое приложение laravel на общем хостинге (cpanel)

1 Шаг: Войдите в свою учетную запись общего хостинга (cpanel), затем найдите значок диспетчера файлов и щелкните его

enter image description here

enter image description here

Щелкните public_ html, на самом деле именно сюда мы обычно загружаем содержимое нашего веб-приложения, поэтому загрузите сюда свой проект laravel, но нам нужно выполнить работу по извлечению, чтобы наш проект заработал, выполните следующие шаги

2. Шаг: Организуйте свой laravel проект

enter image description here

Создайте папку в основном root вашего laravel проекта, любое имя подойдет, мой, я называю это system , как показано ниже enter image description here

Затем я перемещаю все другие папки, кроме publi c, в эту новую созданную папку.

enter image description here

Здесь вы получите

enter image description here

Принимает все ваши publi c содержимое вне основного root как показано ниже

enter image description here

Тогда вот что будет в результате

enter image description here

Вы можете удалить папку publi c или оставить ее

3 Шаг: Редактировать index. php файл, найденный в вашем main root

enter image description here

Нам нужно отредактировать строковый код номер 22 и 36 на следующий, как показано ниже

NB: Секрет в том, чтобы сообщить нашему index. php файл, где он может найти эти два файла

Вы можете протестировать ur, перейдя в свой домен.

enter image description here

4. Шаг : Заключение,

Есть интересный пакет, который суммирует все, что мы сделали, как laravel пакет, пожалуйста, посмотрите, нажмите здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...