如何重定向所有的请求到子文件夹与它自己的.htaccess文件


How to redirect all request to subfolder with it's own .htaccess file

我知道这样的问题已经被回答过很多次了,但是这些答案都不适合我。
我有以下url http://dummy.com/api访问我的根文件夹,我将有我的项目(Laravel项目)。
我正在部署到远程主机,因此我无法访问父目录。
我的项目(简单的Laravel项目)由很多文件夹组成,顺便说一下,这些文件夹应该放在父目录(app,bootstrap,config...)和Laravel项目主index.php所在的公共文件夹中。
url是这样的http://dummy.com/api/public/index.php该目录包含自己的.htaccess文件,内容如下:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>
    RewriteEngine On
    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]
    # Handle Front Controller...
    RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L

这个东西是laravel需要的。

所以我需要所有对http://dummy.com/api的请求都被重定向到public/子文件夹(默认情况下index.php)。
例如,http://dummy.com/api/users实际上应该是http://dummy.com/api/pulbic/users
但这对用户来说应该是透明的,而不是更改为真实的url。
我也从这里尝试了很多不同的配置通用。htaccess重定向

但这对我不起作用。请帮助创建这样的规则有理想的结果。
提前感谢大家。

/api/文件夹中试试这个。htaccess:

RewriteEngine On
RewriteBase /api/
RewriteRule ^((?!public/).*)$ public/$1 [L,NC]