首页 > 解决方案 > Laravel - 从 URL 中删除 public/index.php

问题描述

亲爱的,

我是 Laravel 的新手,正在做一个个人项目。我有一个网站(HTML/CSS),在网站内部有一个菜单,以便开始使用 Web 应用程序(Laravel 5.5 和 php7.1)。

我将我的代码上传到服务器(ubuntu 16.04 Droplet),但如果不放 public/index.php,我就无法访问该网站

例如,我正在使用警卫(管理员和用户),所以为了去管理页面:www.mydomain/admin和用户www.mydomain/user

但我无法访问这个

(500 错误)当我把 www.mydomain/public/index.php/admin 它工作,甚至 www.mydomain/public/admin 不工作。

公共/.htaccess:

Options +FollowSymLinks -Indexes 
RewriteEngine On 
RewriteCond %{HTTP:Authorization} . 
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^ index.php [L]

default-ssl.conf(使用密钥和 https)

<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
                ServerAdmin info@ecollectionz.com
ServerName ecollectionz.com
ServerAlias www.ecollectionz.com

                DocumentRoot /var/www/html

                SSLCertificateFile      /etc/ssl/private/ef125a55e77fd883.crt
                SSLCertificateKeyFile /etc/ssl/private/private-key.key
 <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>
...

请注意,我在同一个域上使用网站和网络应用程序,所以索引主页(/var/www/html)是用于网站的。有什么解决方案吗?

标签: phplaravel

解决方案


是的,将此代码用于您的 .htaccess https://laravel.com/docs/5.8/installation#web-server-configuration还确保在您的 apache 中启用 mod_rewrite 模块


推荐阅读