【问题标题】:Laravel 5 shared host subdomain htaccessLaravel 5 共享主机子域 htaccess
【发布时间】:2016-02-29 15:49:11
【问题描述】:

首先,因为我在共享主机上,我无法将我的公共文件夹的内容直接放入根目录。我必须将整个项目放入 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]

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

【问题讨论】:

    标签: .htaccess laravel-5 subdomain


    【解决方案1】:

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

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

    【讨论】:

    • 是的,将这些重写规则添加到 .htaccess
    【解决方案2】:

    我将我的网站文件上传到子域,但我总是看到这个错误

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

    只需在子域文件夹中创建一个文件.htaccess

    添加它并保存。

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

    【讨论】:

      【解决方案3】:

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

      改变:

      RewriteCond %{REQUEST_URI} !^public
      

      RewriteCond %{REQUEST_URI} !^/public
      

      【讨论】:

      • 我认为如果没有斜杠,它将与 .htaccess 位置相关,但即便如此,第一个代码块也不是问题,正如您在第二个块中看到的那样,/ 就在那里。
      猜你喜欢
      • 2015-04-12
      • 2019-01-28
      • 2023-03-31
      • 2011-12-05
      • 2021-06-28
      • 1970-01-01
      • 2016-05-21
      • 1970-01-01
      • 2015-01-16
      相关资源
      最近更新 更多