我创建了一个laravel项目,该项目在localhost和托管服务器上都可以正常运行,但是当我将其上传到客户端服务器上时,它就无法正常工作(他正在使用bluehost)。
当我打开指向/ public文件夹的URL时,它应该显示主页。相反,它显示所有文件和文件夹的列表(除公共文件夹)。
当我尝试在浏览器中打开myurl.com/public或myurl.com/public/index.php时,出现以下错误:
Forbidden
You don't have permission to access /license/public/ on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
我可以看到市民通过FTP文件夹,我已经改变了权限的/应用/存储到777
这是我的public / .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]
</IfModule>
我已经检查了我的/ public / error_log,它显示以下错误:
[21-Aug-2015 09:06:01] PHP Fatal error: require() [<a href='function.require'>function.require</a>]: Failed opening required '__DIR__/../bootstrap/autoload.php' (include_path='.:/usr/lib64/php:/usr/share/pear') in /home6/parentv3/public_html/eldercareapp/license/public/index.php on line 21
有什么帮助吗?
好的,我已经联系了客户的托管公司,并要求他们升级PHP版本。他们花了几天时间,将PHP升级到5.5。
但是即使更新了PHP,问题仍然存在。我无法访问/ public文件夹,所以问题出在其他地方。经过一番搜索和尝试,我找到了解决方案。
问题实际上出在我的/public/.htaccess文件中。我在.htaccess中仅添加了一行,它解决了该问题:Options +FollowSymLinks
我在/ public中更新的.htaccess现在看起来像:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
Options +FollowSymLinks
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]
</IfModule>
干杯
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句