📜  laravel 从 url 中删除 public - PHP (1)

📅  最后修改于: 2023-12-03 14:43:46.616000             🧑  作者: Mango

Laravel 从 URL 中删除 public - PHP

当使用 Laravel 框架时,URL 中的 public 目录可能会出现在网站链接中,通过移除它,可以使 URL 更加干净和易读。本文将介绍如何从 Laravel 项目的 URL 中删除 public 目录。

方法一:使用URL重写

在 Apache 服务器上,可以通过在根目录下创建 .htaccess 文件来进行 URL 重写。在该文件中添加以下代码:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

这段代码将把所有请求重定向到 public 目录中。

方法二:调整根目录指向

另一种方法是将 Laravel 项目的根目录指向 public 目录。在 Laravel 项目根目录下的 index.php 文件中,可以看到以下代码:

require __DIR__.'/vendor/autoload.php';

将其替换为以下代码:

require __DIR__.'/public/index.php';

这样一来,根目录指向了 public 目录,可以直接访问网站而无需包含 public 目录。

方法三:使用虚拟主机

如果你有服务器权限,可以通过配置虚拟主机来实现从 URL 中删除 public 目录。打开虚拟主机配置文件,添加以下代码:

<VirtualHost *:80>
    DocumentRoot /path/to/your/project/public
    ServerName yourdomain.com
</VirtualHost>

/path/to/your/project 替换为你的 Laravel 项目的实际路径,将 yourdomain.com 替换为你的域名。保存并重启服务器,然后就可以直接访问网站了。

注意事项
  • 在使用 URL 重写或调整根目录指向时,确保在公共路径(public)之外没有其他敏感文件暴露在公开访问之下。
  • 在使用虚拟主机时,注意服务器权限和配置文件的正确性。

希望这些方法可以帮助你从 Laravel 项目的 URL 中删除 public 目录,使 URL 更加简洁和友好。