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

时间:2017-05-24 07:37:01

标签: apache laravel .htaccess ubuntu-server

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

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

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

以下是屏幕截图:enter image description here

但是假设我打电话通过:

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

我获得了访问权限,

enter image description here

我尝试将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 ^(.*)/$ /$1 [L,R=301]

仍然没有变化,请帮助我。

1 个答案:

答案 0 :(得分:3)

/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命令启用它,因为它更容易管理。