URL не работают в производственной среде - верните 404 - PullRequest
0 голосов
/ 15 декабря 2018

Эта проблема, похоже, хорошо документирована, но все решения, которые люди предлагают для постов, не работают для меня: /

Мне удалось исправить URL, выдающие 404 на моем локальном хосте, применив

--history-api-fallback

в пакет «scripts». json

однако, когда я переношу производство в настройки apache2, любой URL-адрес, который я вручную наберу или обновлю, вернется на сайт 404навигация работает нормально.

например, http://www.craftmc.net/ работает, но http://www.craftmc.net/login возвращает 404, несмотря на то, что URL работает, если я перехожу к нему на сайте.

Я виделсообщение с надписью использовать этот .htaccess,

https://hastebin.com/alifavacil.apache

К сожалению, это не сработало.: /

рассматриваемая навигация - https://hastebin.com/xevecefoda.xml

1 Ответ

0 голосов
/ 15 декабря 2018

Вам необходимо настроить Apache для обслуживания вашего приложения по всем URL-адресам, которые он должен обрабатывать.

По умолчанию Apache будет обслуживать ваше приложение только тогда, когда пользователь запрашивает конкретный путь, где находится приложение, скажем,например, www.example.com

Если вы сейчас попытаетесь посетить www.example.com/user/123, Apache попытается найти файл с именем «123.html» в папке «user».Вы должны сообщить Apache, что он должен ответить вашим приложением, даже если запрашиваемый браузером путь фактически не указывает на ваше приложение в файловой системе на сервере.

Это можно сделать несколькими способами.пути, но распространенным является использование mod_rewrite.Например, вы можете попробовать что-то вроде этого:

DocumentRoot "/var/www/example.com"
AliasMatch "^/myapp" "/opt/myapp-1.2.3"
<Directory "/opt/myapp-1.2.3">
    RewriteEngine On
    RewriteBase "/myapp/"
    RewriteRule "^index\.html$"  "welcome.html"
</Directory>

Для получения дополнительной информации о mod_rewrite и различных директивах, которые он использует, обратитесь к документации и / или google.

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