в настоящее время я настраиваю новый сервер на основе linux, установил apache2, MySQL, phpmyadmin и т. Д.
Установил мой проект Laravel с помощью git, и все, кажется, работает хорошо, за исключением некоторых запросов, которые были сделанына сервер.
В настоящее время моя структура папок для / var / www /:- / вар / WWW--- /Главная--- / Laravel
Когда пользователь обращается к серверу через *, 1008 * перенаправляется в / home, где есть целевая страница, в основном лицо веб-приложения.
Когда пользователь заходитна http://server.xxxxxxx.com/erp/, он перенаправлен в каталог / laravel / public.
Все загружается хорошо, приложение работает отлично, но AJAX-запрос везде терпит неудачу.
Каждый AJAX-запрос заканчиваетсяс ошибкой.Например: «Запрошенный URL / круговые данные не найдены на этом сервере».
Я перепробовал все, что смог найти для этой проблемы с URL в сети, но, похоже, ничего не помогло.Одна вещь, которая помогла, это отредактировать конфигурацию apache, где я сделал псевдоним для «/» для перенаправления в папку / var / www / laravel / public.Но это не решение для меня, потому что таким образом я не могу получить доступ к phpmyadmin.
Маршруты в моем файле web.php:
Route::get('/', 'DashboardController@index');
Route::get('/dashboard', 'DashboardController@index')->name('dashboard');
Route::get('/set-warehouse', 'DashboardController@setWarehouse');
Route::get('/pie-data', 'DashboardController@getDonutData');
Route::get('/mechanics-load', 'DashboardController@mechanicsWorkLoad');
Route::get('/monthly-load', 'DashboardController@monthlyLoad');
Route::get('/change-date-mechanics', 'DashboardController@changeMechanicsWorkLoad');
Один из запросов AJAX:
$.ajax({
url: '/pie-data',
method: 'GET',
success: function (data) {
if (data.type === 'success') {
pieChart.Doughnut(data.data, pieOptions);
$('canvas[id="pieChart"]').empty().after(data.legend);
}
},
});
000-default.conf file:
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
ServerName server.xxxxxxx.com
ServerAdmin somemail@gmail.com
DocumentRoot /var/www/home/
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
Alias /erp "/var/www/laravel/public/"
<Directory "/var/www/laravel/public/">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Файл .htaccess является стандартным для Laravel 5.8, он вообще не изменяется.
Когда пользователь находится вhttp://server.xxxxxxx.com/erp/dashboard, 4 или более AJAX-вызовов выполняются, но не на http://server.xxxxxxx.com/erp/pie-chart (которые будут возвращать JSON для плагина), но выполняются на http://server.xxxxxxx.com/pie-chart. Есть ли способ исправитьэтот функционал, не меняя структуру папок?Заранее благодарю за ответы!