微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 .htaccess 重写现有子目录到顶级域

如何解决使用 .htaccess 重写现有子目录到顶级域

希望你一切都好!

我遇到了一个似乎无法解决的简单问题。

所以对于上下文。我有静态 PWA 音频播放器 (Nuxt) 位于我的测试域的子目录中,例如:

http://mytestdomain.com/player/

顶级域“http://mytestdomain.com”是 PWA 对其进行 api 调用的 Laravel 8.0 安装。

本质上,我需要任何以“player/laravel”为前缀的网址来重定向到顶级域,因此:

http://mytestdomain.com/player/laravel/api/auth/login

重写为 http://mytestdomain.com/api/auth/login

这是我在 /web/public/ 中安装 Laravel 的 .htaccess

“播放器”文件夹也在 /web/public/player 中

已通过 ISP 配置将 DocumentRoot 设置为 /web/public/。

据我所知,规则应该有效:RewriteRule ^player/laravel/(.*)$ /$1 [L,QSA]

但是我得到的只是 404?我显然在这里遗漏了什么?

我需要在 /player/ 目录中放置一个 .htaccess 吗?

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

    RewriteEngine On

    RewriteRule ^player/laravel/(.*)$ /$1 [L,QSA]

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Send Requests To Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.PHP [L]
</IfModule>

任何帮助将不胜感激!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。