我正在尝试在共享主机上部署新的Laravel项目。我还想保持我的Laravel项目应用程序设置与我在本地机器上的标准Laravel设置"相同。
我使用FileZilla将所有文件从本地计算机传输到网络托管。
所以/ public_html包含我所有的laravel文件和文件夹。
然而,当我去mydomain.com时,我得到了提供商的默认页面。当我去mydomain.com/public时,我得到一个没有错误的白页。
访问mydomain.com/public时,为什么会出现白页?
另外,如何让mydomain.com指向laravel的公共目录?
答案 0 :(得分:0)
1)访问mydomain.com/public时为什么会出现白页?
可能是因为您没有确定存储文件夹是否可写。
2)如何让mydomain.com指向laravel的公共目录?
这是将laravel放在公共目录下的简单方法。*
首先,在laravel安装的根目录中,您必须将文件server.php
复制或重命名为index.php
,然后才能使用.htaccess
,因此您只能访问索引。 php或css,js,fonts,images等资源..应该位于public/
这是我使用的.htaccess :(把它放在laravel的根/同一个server.php
的目录中)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
RewriteCond %{REQUEST_URI} ! (\.ttf|\.woff|\.woff2|\.css|\.js|\.png|\.jpg|\.gif|robots\.txt)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(css|js|images|fonts)/(.*)$ public/$1/$2 [L,NC]
RewriteCond $1 !^(index\.php)
RewriteRule ^(.*)$ index.php [L]
*(请注意,只有在除了将laravel放入公共目录之外没有其他选项时才应使用此解决方案)