这是我第一次尝试在共享主机帐户上部署 Laravel 应用程序。
文件夹结构如下:
|--laravel
|--app
|--GoPublic.php // use to point to new location
|--bootstrap
|--config
|--database
// more folders
|--public_html
|--app // my subdomain document root
|--assets
|--index.php // GoPublic.php point to this file
当我转到我的子域名网址时,我得到了这个:
我检查了我的error.log文件,得到以下403禁止错误:
[autoindex:error] [pid 910782] [] AH01276: Cannot serve directory /home/user/public_html/app/: No matching DirectoryIndex (index.php,Index.html,Index.htm,index.html.var,index.htm,index.html,index.shtml,index.xhtml,index.wml,index.perl,index.pl,index.plx,index.ppl,index.cgi,index.jsp,index.js,index.jp,index.php4,index.php3,index.phtml,default.htm,default.html,home.htm,index.php5,Default.html,Default.htm,home.html) found, and server-generated directory index forbidden by Options directive
希望有人能帮助我。谢谢!
答案 0 :(得分:0)
您可以尝试在.htaccess
目录和laraval
目录中添加laravel/public
。
<IfModule mod_rewrite.c>
WriteEngine On
RewriteBase /laravel/public/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
也许您还需要将Laravel指向公共目录才能使其正常工作。例如,如果您在/path_to_laravel/public/
目录中安装了Laravel,则需要在Apache配置中使用这些设置:
DocumentRoot "/path_to_laravel/public/"
<Directory "/path_to_laravel/public/">
之后重新启动Apache,您的应用程序应该按预期工作。
答案 1 :(得分:0)
也许答案来晚了,但是,
确保您对public/index.php
文件具有正确的权限。
例如,如果您的用户是核心,则您也应该将其设置为index.php
的所有者。
要更改它,可以使用以下命令:
sudo chown -R core public/index.php