Laravel 5共享主机子域htaccess

Wan*_*eho 1 subdomain .htaccess laravel-5

首先,因为我在共享主机上,所以我无法将公用文件夹的内容直接放入根目录中。我必须将整个项目放入 public_html 目录中,并使用 .htaccess 指向公共文件夹,如下所示(这对于单个 Laravel 项目效果很好):

RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
Run Code Online (Sandbox Code Playgroud)

现在,我使用主机创建了一个子域,并在我的 public_html 目录中创建了一个名为 store.domain.com 的目录。这将用于一个完全不同的 Laravel 项目。如果我将带有 .htaccess 文件的常规文件夹结构放入此子域文件夹中,则在访问子域时会收到 503 错误。我与主机交谈,当他们建议删除根 .htaccess 文件时,子域开始工作,但主域崩溃了。

几天来我一直在努力阅读 WordPress 上其他人类似问题的各种解决方案,但无法让任何东西正常工作。下面的解决方案有点有效,但它不断将公共文件夹添加到我的子域 URL(根域项目工作正常):

RewriteBase /

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} ^store.mc.com
RewriteRule ^(.*)$ /public/$1 [L]

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} !^store.mc.com$
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ /public/$1 [L]
Run Code Online (Sandbox Code Playgroud)

有人遇到过这个问题或者知道如何解决吗?

Wan*_*eho 7

我真的不明白为什么这有效,但下面解决了我的问题:

RewriteBase /

RewriteCond %{HTTP_HOST} !^subdomain
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]

RewriteCond %{HTTP_HOST} ^subdomain
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/ [L]
Run Code Online (Sandbox Code Playgroud)