Laravel 应用程序中 public 文件夹的符号链接导致重定向

Symlink for public folder in Laravel application causes redirect

我在 VPS 上上传了一个 Laravel 5.5 应用程序。目录结构如下所示:

web
   private
      laravel
         app
         bootstrap
         public
         ...
   public
      laravel
         public (symlink)
      .htaccess

我已经创建了从 private/laravel/public 目录到 public/laravel 的符号链接。一切正常,但 url 中的最后一个斜线有问题。

当我输入 'example.com/posts' 时没问题,但是当我输入 'example.com/posts/' 时,它会将我重定向到 'example.com/laravel/public/posts',工作内容为 'example.com/posts'

如何避免? url 应该像 'example.com/posts/'.

.htaccess 在 web/public 目录中:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^laravel/public
    RewriteRule ^(.*)$ laravel/public/ [L]
</IfModule>

谢谢。

从 htacess 中删除尾部斜杠 url 处理。在项目的 htacess 中给定我的 laravel 更改重写规则如下 写为:

RewriteBase /root/laravel/public

重写规则 ^(.*)/$ $1 [L,R=301]

laravel 项目 public 文件夹中有一个默认的 .htaccess 文件,我不得不 删除以下三行 以停止尾部斜杠重定向:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]