Как настроить мой _htaccess для развертывания

У меня возникают проблемы при развертывании предоставленного мне приложения, мои ссылки не работают, и я получаю сообщение об ошибке «Не найдено», однако, когда я запускаю его локально, все работает. Я почти уверен, что проблема заключается в моем файле htaccess и в том факте, что для его локального запуска разработчик, создавший приложение, добавил файл server.php в корневой каталог, в котором говорится, что он позволяет приложению запускаться локально. Поэтому я думаю, что мне нужно изменить htaccess или сделать что-то, чтобы имитировать то, что server.phpfile делает локально при развертывании. Также, когда я развертываю, я делаю корневой каталог \ public, чтобы я мог получить домашнюю страницу.

Это мой server.php:

<?php

$uri = urldecode(
    parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)
);

// This file allows us to emulate Apache's "mod_rewrite" functionality from the
// built-in PHP web server. This provides a convenient way to test a Laravel
// application without having installed a "real" web server software here.
if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
    return false;
}

require_once __DIR__.'/public/index.php';

И это мой htaccess по умолчанию.

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

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

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

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

Я немного поиграл с ним, чтобы попытаться заставить его работать безуспешно, я изменил, например, где написано REQUEST_FILENAME на REQUEST_URI, я удалил весь раздел IfModule и т.д., но я обычно кодирую в js и используйте узел, поэтому я действительно не знаю синтаксиса или того, что здесь происходит.

Спасибо

Я не думаю, что есть проблема с вашим файлом .htaccess. Попробуйте дать разрешение (777) на загрузку и папку для хранения, а затем проверьте. Также, если вы можете показать нам снимок экрана с вашей ошибкой, это будет полезно.

Mr.Gandhi 27.11.2018 11:58

Если ваш сайт находится на public/, вам необходимо настроить конфигурацию вашего веб-сервера; а именно изменение корня документа на папку public/. Это, скорее всего, заставит .htaccess работать правильно.

ceejayoz 27.11.2018 14:34

Я изменил корень на загрузку из общедоступного, что позволяет мне видеть страницу индекса, но ссылки не работают.

Jack 27.11.2018 14:37

@ Мистер Ганди Я не проверял ошибки, потому что они разные в зависимости от того, где я развертываю, на heroku и AWS у меня есть простая страница 404 server not found, и на лазурном я получаю Ресурс, который вы ищете, был удален, имел свое имя изменен, или временно недоступен.

Jack 27.11.2018 14:38

@Jack Следующее, что нужно проверить, это конфигурация веб-сервера. Убедитесь, что а) вы вообще используете Apache и б) что переопределения .htaccess разрешены вашей конфигурацией Apache.

ceejayoz 27.11.2018 18:06

@ceejayoz, спасибо, я проверил это, похоже, проблема не в том, что Heroku Docs говорит, что переопределение метода установлено для всех по умолчанию, и хотя я не нашел того, что говорится на других, я почти уверен, что они также настроены на включение, так как когда я делаю изменения в моем htaccess Иногда я вижу разные результаты, но ничего хорошего,

Jack 27.11.2018 20:25
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
6
51
0

Другие вопросы по теме