Как получить доступ к laravel API в виртуальном хосте apache? - PullRequest
0 голосов
/ 24 марта 2020

Я настроил apache виртуальный хост и у меня есть сайт с нижеуказанным конфигом (веб-сайт работает хорошо): NB: доменные имена ниже вымышленных.

<VirtualHost *:80>
    ServerName www.bill.test.com
    ServerAlias bill.test.com
    Redirect / https://bill.test.com/
</VirtualHost>


<VirtualHost *:443>

    ServerName www.bill.test.com
    ServerAlias bill.test.com
    DocumentRoot /applications/www/bill.test.com/public_html/public
    SSLEngine on
    SSLCertificateFile /home/user1/ssl_certificate/test.com/wildcard_eneoapps_com.crt
    SSLCertificateKeyFile /home/user1/ssl_certificate/test.com/wildcard_eneoapps_com.key
    SSLCertificateChainFile /home/user1/ssl_certificate/test.com/DigiCertCA.crt
    ErrorLog /applications/www/bill.test.com/error.log
    CustomLog /applications/www/bill.test.com/requests.log combined
    <Directory "/applications/www/bill.test.com/public_html/public">
        AllowOverride All
    </Directory>
</VirtualHost>

Кроме того, на этом сервере я у меня есть API, расположенный в каталоге ниже:

/applications/www/html/ebill-api

Теперь, когда я пытаюсь вызвать этот API в коде, я получаю ошибку ниже:

Client error: `POST http://12.ipp.106.21/ebill-api/public/api/login' resulted in a `404 Not Found` response:\n

Мой файл httpd.conf выглядит следующим образом:

DocumentRoot "/applications/www/html"

#
# Relax access to content within /var/www.
#
<Directory "/applications/www">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>

# Further relax access to the default document root:
<Directory "/var/www/html">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride None

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

Пожалуйста, помогите, поскольку я новичок в настройке apache и перепутайте, почему это не работает. Мне удалось вызвать API на отдельном сервере, но я не понимаю, зачем вызывать этот, который находится на том же сервере, так как веб-сайт не работает.

1 Ответ

0 голосов
/ 24 марта 2020

Поскольку у вас есть Laravel api в подпапке, вы должны настроить APP_URL в вашем файле .env на http://12.ipp.106.21/ebill-api/public/

Попробуйте это изменить. Посмотрите, поможет ли это.

...