【发布时间】:2017-12-05 17:00:12
【问题描述】:
我正在尝试在共享主机(godaddy)上部署我的 Laravel 项目,但到目前为止我只成功了一部分。
我遵循的步骤:
- 创建一个子域
abc.xyz.com,root ->public_html/finance/. - 将我的laravel项目上传到与
public_html同级的文件夹中 -
softlink我项目的public目录到public_html/finance/ - 我发现转到
abc.xyz.com不起作用,但abc.xyz.com/public这样做了,所以我设置了一个重定向,将abc.xyz.com重定向到abc.xyz.com - 使
Storage可通过网络访问。 -
dumpautoload,缓存config和routes。 - 正在迁移
databases。
现在我可以成功登录,这会将我带到abc.xyz.com/public,但我所有其他没有/public 的路线都不起作用。
例如:
- abc.xyz.com/public - 作品
- abc.xyz.com/home - 不起作用
我注意到,如果我手动将/public 添加到它们工作的所有路线!所以abc.xyz.com/public/home 有效。
我的 .htaccess:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
那么如何将/public 像abc.xyz.com/public 附加到所有路由?
我不太擅长修改.htaccess,但我尝试了网上的一些解决方案,但都没有奏效。
【问题讨论】:
标签: apache laravel .htaccess redirect mod-rewrite