Laravel .htaccess 重写 URL 以删除 public

Laravel .htaccess rewrite URL for removing public

我有一个Laravel项目

我的域名是domain.com.tw

并且 URL 将是 domain.com。tw/public,

页面可以显示了。

我想删除 URL、

中的 public

所以我在 .htaccess 中写 RewriteRule

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ public/ [L]
</IfModule>

但它对我不起作用 我也看过这些,但还是失败了

Apache Mod Rewrite For Laravel

Laravel 4.2 rewrite URL - remove public

有人能告诉我解决办法吗?谢谢!!

在根目录下创建一个名为“whatever”的文件夹(你可以给任何名字)。 将除 public 文件夹之外的所有文件移动到“whatever”文件夹中。 将 public 的所有文件移动到根目录并删除空白 public 文件夹。 所以目录结构将是:

  1. whatever——除了public文件夹
  2. 之外的所有根文件
  3. public 文件夹的所有文件。

现在是时候改变一些路径了 在 paths.php 中更改以下代码 'public' => __DIR__.'/../public',变成'public' => __DIR__.'/../../'

打开 index.php(在 root 上)并找到下面的代码

require __DIR__.'/../bootstrap/autoload.php';
$app = require_once __DIR__.'/../bootstrap/start.php';

将此更改为

require __DIR__.'/local/bootstrap/autoload.php';
$app = require_once __DIR__.'/local/bootstrap/start.php';

希望这对您有所帮助或至少给您一些想法