我将 Laravel的公用文件夹移至根文件夹,然后将 Laravel 移至自己的文件夹。所以我可以在共享主机上使用Laravel。它看起来像这样:
2015/08/04 18:13 <DIR> .
2015/08/04 18:13 <DIR> ..
2015/08/01 17:50 896 .htaccess
2015/07/29 17:39 0 favicon.ico
2015/07/29 17:39 1,844 index.php
2015/08/04 17:19 <DIR> laravel
2015/08/04 17:20 <DIR> public
2015/08/01 17:46 1,165 README.md
2015/08/01 16:18 34 robots.txt
2015/08/04 17:20 <DIR> static
例如,我正在使用public_path()
,我得到了这个:
/ htdocs中/ laravel /公共
但我需要的是:
/ htdocs中/公共
我已经检查了/config/
中的配置文件,但没有任何相关内容。
请告诉我如何解决它。 THX
(我的laravel版本 5.0.33 )
PS: 我试过这个方法: Laravel 5 on shared hosting - wrong public_path()
我在public_path()
AppServiceProvider
$this->app->bind('path.public', function() {
return base_path() . '/';
});
但没有改变。
答案 0 :(得分:1)
尝试使用以下内容在根目录中添加.htaccess,而不是移动公用文件夹:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>
这会将所有请求重定向到/ public
答案 1 :(得分:1)
通过将公用文件夹添加到通常在/ public文件夹中找到的index.php文件中,可以正确绑定公用文件夹
// set the public path to this directory
$app->bind('path.public', function() {
return __DIR__;
});
您可能要在此之后清除缓存,因为之前可能已缓存路径。如果您没有对
bootstrap/cache/config.php
上的服务器的ssh访问,则可以手动找到并删除缓存的配置。