我正在开发laravel项目并将其部署在Hostgator服务器上。
一切正常,但我不想像www.xyz.com/public
一样运行我的网站。我想从网址中删除/public
。为此,我关注this link(方法II:将公用文件夹的内容移动到根目录)。在此之后,我的主页在www.xyz.com
上工作正常。但是,当我尝试访问www.xyz.com/about
或www.xyz.com/admin
时,它会返回404页面,"未找到错误"。
我是laravel
的新手,有人可以建议我该如何解决这个问题。
答案 0 :(得分:0)
请按照以下步骤操作:
1.在文档根文件夹中创建文件夹myappnamebase
2.将除公用文件夹内容之外的应用程序的所有内容都放到myappnamebase文件夹
3.将所有公用文件夹内容放在public_html
文件夹
然后进行以下更改:
在public_html-> index.php
中而不是
require __DIR__.'/../bootstrap/autoload.php';
添加
require __DIR__.'/../myappnamebase/bootstrap/autoload.php';
而不是
$app = require_once __DIR__.'/../bootstrap/start.php';
添加
$app = require_once __DIR__.'/../myappnamebase/bootstrap/start.php';
在myappnamebase-> bootstrap-> paths.php内部进行编辑,使其看起来如下所示
'app' => __DIR__.'/../myappnamebase/app',
'public' => __DIR__.'/../public',
'base' => __DIR__.'/../myappnamebase',
'storage' => __DIR__.'/../myappnamebase/app/storage',
最后不要忘记在public_html
文件夹中上传.htaccess。它应该如下所示:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]