无法访问 apache2 服务器中的 laravel 路由

Not able to access laravel routes in apache2 server

我已经在我的服务器上部署了一个新的 laravel 安装,同时我将我的 apache2 配置如下:

我在 /etc/apache2/sites-available/ 中添加了 000-default.conf 文件,如下所示:

DocumentRoot /var/www/html

 <Directory /var/www/html/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Order allow,deny
    Allow from all
    Require all granted
 </Directory>

我已将我的 laravel 安装到 /var/www/html/stellar 文件夹中,现在我通过以下方式访问我的安装:

http://52.39.175.55/stellar/public/

但是在调用路由时它不起作用,喜欢

http://52.39.175.55/stellar/public/oauth/token

截图如下:

但是假设我通过这个调用:

http://52.39.175.55/stellar/public/index.php/oauth/token

我获得了访问权限,

我尝试将 public/.htaccess 文件更改为如下内容:

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

RewriteEngine On
RewriteBase /stellar

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

还是没有变化,帮帮我。

您在 /etc/apache2/sites-available/ 上的 VirtualHost 应该如下所示:

<VirtualHost *:80>
    DocumentRoot "/var/www/html/stellar/public"
    ServerName yourdomain.com
    <Directory /var/www/html/stellar/public>
      AllowOverride All
    </Directory>
</VirtualHost>

然后重启 apache2 应该可以了。

我几乎不建议您复制 000-default.conf 文件,重命名它并包含 VirtualHost,然后使用 a2ensite 命令启用它,只是因为它更易于管理。