我有一台服务器,我打算用它来托管多个项目。到目前为止,结构就像这样
public_html
- project1
- project2
单个项目文件夹内部是Laravel安装。我现在访问项目的方式是http://www.website.com/project1/public
如何从我的网址中删除该公开链接?我试图在project1的根目录中设置一个htaccess文件,但它似乎不起作用。
感谢您的帮助!
答案 0 :(得分:1)
为此,您需要重新确定如何将文件放在服务器上。
首先,您需要具备以下内容
project1
project2
public_html
-project1
-project2
您将在根项目文件中安装所有应用程序文件。但是不要将您的公共文件夹放在这里,例如。
project1
-app
-bootstrap
-(rest of folders)
project2
-app
-bootstrap
-(rest of folders)
public_html
-project1
-project2
对于每个项目,将所有内容放在各自的公用文件夹中,并将它们放在project1和project2文件夹中,然后删除公用文件夹。您基本上将重新映射public_html->project1
和public_html->project2
文件夹作为您的公用文件夹
您现在需要通过更改server.php文件来告诉laravel公共文件夹的位置
从
更改project1 / server.phpif ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
return false;
}
require_once __DIR__.'/public/index.php';
到
if ($uri !== '/' && file_exists(__DIR__.'/public_html/project1'.$uri)) {
return false;
}
require_once __DIR__.'/../public_html/project1/index.php';
对project2
执行相同操作,但使用project2
名称代替project1
您现在应该发现,如果您访问www.example.com/project1,它应该转到正确的项目
答案 1 :(得分:0)
我在这个网站http://tutsnare.com/remove-public-from-url-laravel/尝试了这种方法,它似乎对我有用。希望这有助于其他人。