当前位置: 首页 > 知识库问答 >
问题:

Laravel 5共享主机子域访问

戴原
2023-03-14

首先,因为我在一个共享主机上,我不能将我的公共文件夹的内容直接放入root。我必须将整个项目放入public_html目录,并使用. htaccess指向下面的公共文件夹(这对于单个Laravel项目来说很好):

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

我现在用主机创建了一个子域,它在我的公共html目录中创建了一个名为store的目录。领域通用域名格式。这将是一个完全不同的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个答案

杨飞语
2023-03-14

如果没有前导斜杠,重写条件无效。

更改:

RewriteCond %{REQUEST_URI} !^public

RewriteCond %{REQUEST_URI} !^/public
轩辕弘雅
2023-03-14

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

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

将此添加到它并保存。

RewriteBase /

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

RewriteCond %{HTTP_HOST} ^subdomain
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/ [L]
巢星纬
2023-03-14

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

RewriteBase /

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

RewriteCond %{HTTP_HOST} ^subdomain
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/ [L]
 类似资料:
  • PHP 非常流行,很少有服务器没有安装 PHP 的,因而有很多共享主机,不过需要注意服务器上的 PHP 是否是最新 版本。共享主机允许多个开发者把自己的网站部署在同一台服务器上面,这样的好处是费用非常便宜,坏处是你不知道将和哪些 网站共享主机,因此需要仔细考虑机器负载和安全问题。如果项目预算允许的话,避免使用共享主机是上策。

  • 我已经开发了一个laravel web应用程序,我必须上传到已经有WordPress应用程序的主机上,文件系统如下所示: 我无法访问根文件夹,无法联机访问公共html,因此我在公共html中创建了两个文件夹(laravel后端,laravel前端)。 所以我所做的就是编辑索引。php以指向类似以下内容的laravel后端文件: 需要DIR/.../laravel后端/引导/autoload.php

  • 第八章 共享主机 在共享主机环境中达到高级别的安全是不可能的。可是,通过小心的规划,你能避免一些常见的错误并防止一些最常用的攻击手段。虽然有些方法需要你的主机提供商提供协助,但也有一些其他的你自己就能做到的方法。 本章涉及伴随共享主机而产生的风险。尽管同样的安全措施可以用于防止很多攻击手段,但为了认识到问题的范围,多看一些范例是很有用的。 由于本书的焦点是应用的安全性而不是架构的安全性,我不会讨论

  • 我有两个问题。我理解,如果我在cookie中指定域为(带前导点),那么所有子域都可以共享一个cookie。 是否可以访问在中创建的cookie(没有子域)? 如果在中创建,(没有子域)是否可以访问cookie?

  • 我试图上传我的工作laravel Web应用程序从localhost到Web服务器,但我仍然有同样的问题:白色页面。但是如果我打电话给phpinfoindex.php我可以看到结果。我试图保持原始项目的相同目录结构,但当我导航到myhost.com/app/public我看到白色页面。我还尝试将公共的所有内容移动到上层目录,将路径从公共var的引导/paths.php更改为/...和从index.

  • 我正在尝试在共享主机上部署Laravel5.2。 我在public_html文件夹(/../public_html或/home/username)之上安装了laravel core应用程序文件夹。 我提取了laravel核心公用文件夹(public)中的文件,并指向索引。php文件到laravel core app文件夹的根目录(/../laravel app/bootstrap/autoload