我是Laravel框架的新手,所以这个问题可能有点愚蠢,但这是问题所在:
我在本地计算机上有一个小项目,现在我需要将项目部署到实时环境(共享主机)中。
问题是,我的项目需要存储在主域的子目录(子文件夹)中(例如,我的域将为 main.com ,并且项目将为在 main.com/my-project )。 我在主域的public_html内创建了一个子文件夹,然后将项目上传到该子目录。最初,当我进入url main.com/my-project 时,我看到一个目录树(例如localhost),然后需要单击“公用文件夹”以转到我的应用程序。因此,我在互联网上寻找解决方案,并尝试了.htaccess方式,这是我的.htaccess文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/project/public/
RewriteRule ^(.*)$ /project/public/$1 [L,QSA]
</IfModule>
但是当我重新加载URL main.com/my-project 时,我一直收到未找到的消息URL请求。
我已经为这个问题苦苦挣扎了一段时间,但仍然没有弄清楚。知道如何解决这个问题吗?请帮帮我,谢谢。
答案 0 :(得分:1)
谢谢你们的帮助,实际上我已经以某种方式弄清楚了。对于那些可能遇到像我一样遇到同样问题的人,这是我的解决方案:
在/ public_html内,我创建了一个文件夹并将其命名为my-project。在my-project文件夹中,我将所有文件和资产文件夹(css,js)和.htaccess文件放在此处。
然后,我回到父级(与/ public_html相同),创建了一个文件夹,并将其命名为app-core。我将所有其他Laravel的文件夹和文件放在这里。
结构将是这样的:
public_html
=app-core
--- All others files & folders except **public**
=my-project
--- index.php
--- css
--- js
--- .htaccess
最后,我回到编辑index.php的地方:
require __DIR__ . '/../app-core/vendor/autoload.php';
$app = require_once __DIR__ . '/../app-core/bootstrap/app.php';
并保存它,一切准备就绪!
答案 1 :(得分:0)
首先,您必须复制my-project
目录中的所有laravel文件和文件夹。
然后在公用文件夹中,您可以看到index.php
,.htaccess
以及其他文件和文件夹在主文件夹my-project
中的剪切。
然后打开index.php
并更改require __DIR__.'/vendor/autoload.php';
和$app = require_once __DIR__.'/bootstrap/app.php';
然后,您必须正确设置css
文件和js
文件,否则它将无法正常工作