在我的共享主机上上传laravel项目时遇到问题 . 在该托管上,我有两个在文档根目录中具有单独文件夹的插件域 . 但是当我在文档根目录中放置laravel项目并从root中的公共文件夹移动所有内容以从url中删除“/ public”时,我无法访问我的插件域 . 我收到500内部服务错误 . 当我删除.htaccess文件时,我可以访问我的其他域,但我无法访问我的Laravel项目 . 如何更改默认laravel .htaccess文件?
好吧,你不应该 move everything from public folder ,这是你的Laravel应用程序的一个非常重要的部分,它是用这种方式构建的,将你的应用程序源代码与任何人都可以访问的公共文件分开,如果你的应用程序root也是你的公共文件夹,任何人都会能够从您的应用程序访问任何PHP文件,这是如此不安全...
move everything from public folder
您需要做的是将文档根指向 /serverRoot/applicationRoot/public .
/serverRoot/applicationRoot/public
如果你真的不能这样做,我必须编辑 index.php 并尝试改变两行:
index.php
require __DIR__.'/../bootstrap/autoload.php'; $app = require_once __DIR__.'/../bootstrap/start.php';
至
require __DIR__.'/bootstrap/autoload.php'; $app = require_once __DIR__.'/bootstrap/start.php';
看看它是否适合你 .
EDIT
Laravel的默认 .htaccess 文件仅用于重写您的URL,因此您不需要 t see a index.php` . 基本上它做了两件事:
.htaccess
t see a
1)如果您使用 http://www.site.com/ 访问您的站点,则在内部它将指向 http://www.site.com/index.php .
http://www.site.com/
http://www.site.com/index.php
2)当您使用 http://www.site.com/index.php 访问您的站点时,它会隐藏 index.php 部分 .
这是一种递归,因为第一步导致第二步 .
现在你必须思考并看看这与你的其他域是如何冲突的,因为你在这些域中服务的文件很重要,而且因为我们不知道它们是什么,所以帮助更多是困难的 .
1 回答
好吧,你不应该
move everything from public folder
,这是你的Laravel应用程序的一个非常重要的部分,它是用这种方式构建的,将你的应用程序源代码与任何人都可以访问的公共文件分开,如果你的应用程序root也是你的公共文件夹,任何人都会能够从您的应用程序访问任何PHP文件,这是如此不安全...您需要做的是将文档根指向
/serverRoot/applicationRoot/public
.如果你真的不能这样做,我必须编辑
index.php
并尝试改变两行:至
看看它是否适合你 .
EDIT
Laravel的默认
.htaccess
文件仅用于重写您的URL,因此您不需要t see a
index.php` . 基本上它做了两件事:1)如果您使用
http://www.site.com/
访问您的站点,则在内部它将指向http://www.site.com/index.php
.2)当您使用
http://www.site.com/index.php
访问您的站点时,它会隐藏index.php
部分 .这是一种递归,因为第一步导致第二步 .
现在你必须思考并看看这与你的其他域是如何冲突的,因为你在这些域中服务的文件很重要,而且因为我们不知道它们是什么,所以帮助更多是困难的 .