Linux-сервер, проблемы с конфигурацией - PullRequest
0 голосов
/ 26 сентября 2019

в настоящее время я настраиваю новый сервер на основе 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. Есть ли способ исправитьэтот функционал, не меняя структуру папок?Заранее благодарю за ответы!

1 Ответ

0 голосов
/ 27 сентября 2019

Ваш запрос ajax пытается получить / pie-data, более конкретно (/ var / www / home / pie-data), когда он выглядит так, как вы хотите / erp / pie-data

...