Laravel 5共享主机子域htaccess

时间:2016-02-29 15:49:11

标签: .htaccess laravel-5 subdomain

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

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

我现在用主机创建了一个子域,它在我的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]

任何人都有这个问题或知道如何解决它?

3 个答案:

答案 0 :(得分:2)

我真的不明白为什么会有效但下面修正了我的问题:

RewriteBase /

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

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

答案 1 :(得分:1)

我将我的网站文件上传到一个子域,并且总是看到此错误

您无权访问此资源。此外,还有403 尝试使用ErrorDocument处理请求时遇到了禁止的错误。

只需在子域文件夹中创建文件custom_id

将此添加到它并保存。

.htaccess

答案 2 :(得分:0)

如果没有前导斜杠,您的RewriteCond无效。

改变:

RewriteCond %{REQUEST_URI} !^public

RewriteCond %{REQUEST_URI} !^/public