gpt4 book ai didi

php - 将多个 Laravel 4 项目安装到子目录

转载 作者:可可西里 更新时间:2023-11-01 13:38:58 26 4
gpt4 key购买 nike

我正在尝试将多个 Laravel 4 项目上传到我的网络服务器,而不是我的开发服务器。每个 laravel 4 应用程序都位于它们自己的子目录中。我的文件结构应该如何?我四处寻找 htaccess 以从 url 中删除/public 但我一直没有成功。该服务器仅用于测试目的,它允许其他人在构建项目时跟进。我知道将 laravel 基本结构留在这些目录中是主要的安全问题,但它们再次仅用于测试目的,当项目完成时,它们将被删除并放置在自己的托管服务器上。这是我的文件结构:

-public_html/ 
main website html files
-Test Site Subdirectory Folder
-subdirectoryFolder
-Store/
-laravel app 1
-blog/
-laravel app 2
-newspaper
-laravel app 3

如果我在每个子目录文件夹(www.testsite.com/Storewww.testsite.com/blogwww.testsite. com/newspaper) 每个应用程序都可以工作,但是我试图删除 url 末尾的 public,www.testsite.com/Store/public 是浏览器中显示的内容.非常感谢对这个问题的任何帮助。谢谢。

最佳答案

看起来我的开发结构正是您想要做的。所以我有这个文件夹结构:

var
|-- www
|-- Store
| |-- app
| |-- bootstrap
| |-- ...
|-- blog
|-- app
|-- bootstrap
|-- ...

这是我的虚拟主机文件/var/www/Store/vhost.conf:

Alias /Store "/var/www/Store/public"
<Directory /var/www/Store>
Options Indexes Includes FollowSymLinks MultiViews
AllowOverride AuthConfig FileInfo Indexes
Order allow,deny
Allow from all
</Directory>

是的,我把它放在我的项目文件夹中,并在/etc/apache2/apache2.conf 中添加了一个包含:

Include /var/www/Store/vhost.conf

这是我的 .htaccess 文件:

<IfModule mod_rewrite.c>
#Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /Store/index.php/?$1 [L]
</IfModule>

我只需要打

 http://server.dev/Store

 http://[ipaddress]/Store

看到它。

我已经构建了一个小脚本来为我完成所有这些:https://github.com/antonioribeiro/laravel-installer .它会在我需要的任何文件夹中下载、安装、配置和启动 Laravel 应用程序,做任何必要的事情。与基于 Debian 的发行版兼容,例如 Ubuntu。

编辑

请注意,有两件事会从您的网址中删除 /public/index.php:

1)/Store 直接指向您的公用文件夹:

Alias /Store "/var/www/Store/public"

2) 和重写规则以保持您的 url 与 index.php 保持一致:

RewriteRule ^(.*)$ /Store/index.php/?$1 [L]

关于php - 将多个 Laravel 4 项目安装到子目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21798858/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com