У меня есть веб-приложение с весенней загрузкой, которое отлично работает на моем локальном компьютере, теперь при развертывании на сервере у меня возникли следующие проблемы:
ссылка на другие страницы:
На моем локальном компьютере ниже работает нормально:
<a class="dropdown-item" href="/admin/manage-users">Users</a>
Но при развертывании на сервере URL-адрес для работы должен быть таким: http://website.com/projectname/admin/manage-users
, но он отображался как: http://website.com/admin/manage-users
давая мне Ошибка 404: не найдено. Чтобы исправить это, мне пришлось использовать одно из следующих:
Удалить ведущий sla sh:
<a class="dropdown-item" href="admin/manage-users">Users</a>
или использовать контекстно-зависимые URL-адреса тимелеафа:
<a class="dropdown-item" th:href="@{/admin/manage-users}">Users</a>
Ajax звонков:
Я пробовал тот же подход с ajax звонками, но в этом случае это не сработало. У меня есть таблица данных, как показано ниже, которая отлично работает на моем локальном:
var t_users = $("#tbl_users").DataTable({
"ajax": {
"url": "/admin/get-users",
"type": "GET",
"dataSrc": ""
}, ...
Но на сервере выдает ту же ошибку 404 not found, потому что projectname
отсутствует в URL-адресе, поэтому я попытался удалить ведущий sla sh, и теперь я получаю ошибку datatables ajax, потому что в URL-адресе admin
отображается дважды: .../admin/admin/manage-users
, чтобы исправить это, я узнал из этой ссылки Мне нужно чтобы удалить admin
из URL-адреса, как показано ниже:
var t_users = $("#tbl_users").DataTable({
"ajax": {
"url": "get-users",
"type": "GET",
"dataSrc": ""
},
Есть ли другой способ сделать эту работу, используя admin/get-users
в URL-адресе, чтобы избежать путаницы?