Развертывание Laravel на openSUSE: маршруты API не работают - PullRequest
0 голосов
/ 02 июня 2018

Я развернул веб-приложение Laravel на openSUSE Tumbleweed.Я могу получить доступ ко всем маршрутам, определенным в маршрутах / web.php, но все маршруты в маршрутах / api.php вернули 404 не найдены.

Вот мой файл apache2 httpd.conf:

Include /etc/apache2/uid.conf
Include /etc/apache2/server-tuning.conf

<IfDefine !SYSCONFIG>
  Include /etc/apache2/loadmodule.conf
</IfDefine>

<IfDefine !SYSCONFIG>
  Include /etc/apache2/global.conf
</IfDefine>

Include /etc/apache2/mod_status.conf
Include /etc/apache2/mod_info.conf

Include /etc/apache2/mod_reqtimeout.conf

Include /etc/apache2/mod_cgid-timeout.conf

Include /etc/apache2/mod_usertrack.conf

Include /etc/apache2/mod_autoindex-defaults.conf

TypesConfig /etc/apache2/mime.types
Include /etc/apache2/mod_mime-defaults.conf

Include /etc/apache2/errors.conf

Include /etc/apache2/ssl-global.conf


# forbid access to the entire filesystem by default
<Directory />
    Options None
    AllowOverride All
    <IfModule !mod_access_compat.c>
        Require all denied
    </IfModule>
    <IfModule mod_access_compat.c>
        Order deny,allow
        allow from all
    </IfModule>
</Directory>

<Directory "/srv/www">
    AllowOverride All
</Directory>



AccessFileName .htaccess

<Files ~ "^\.ht">
    <IfModule !mod_access_compat.c>
        Require all denied
    </IfModule>
    <IfModule mod_access_compat.c>
        Order allow,deny
        allow from all
    </IfModule>
</Files>

DirectoryIndex index.html index.html.var

Include /etc/apache2/default-server.conf

и это мой файл .htaccess, который я помещаю в папку htdocs

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

Я надеюсь, что кто-то может мне помочь в этом.Я довольно новичок в Linux, особенно openSUSE.Кроме того, я извиняюсь за мой плохой английский.

1 Ответ

0 голосов
/ 04 июня 2018

Если вы определяете маршруты внутри api.php, то ваш URL должен называться префиксом API:

http://someurl.com/api/get/user
...