如何在 apache 的 .htaccess 中使用后缀重写子域

我在我的服务器上使用以下 .htaccess 代码为子域“api”创建了一个别名:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]

RewriteCond %{HTTP_HOST} ^api\. [NC]
RewriteRule ^app/ /assets/api/app/index.php [L,NC,QSA]

通过以下网址可以正常工作:

https://api.mysite.com/assets/api/app

但是我需要在地址中添加一个后缀/app/来重写api.mysite.com/app/到/assets/api/app/index.php

之后我会用别人的后缀改写例如:

示例 01(后缀 app):

来源:api.mysite.com/app/carts

目的地:/assets/api/images/index.php

只接收购物车

示例 02(后缀图像):

来源:api.mysite.com/images/banner/21

目的地:/assets/api/images/index.php

只接收横幅/21

示例 03(后缀 lib):

来源:api.mysite.com/lib/lib.js

目标:/assets/api/libs/index.php

只接收 carrousel/21

所有上下文都将在我的restful api中使用。

api.mysite.com/app/carts

我的 Api restfull 正在获取路径 app/carts 但我只想将 /carts 传递给 index.php

服务器的根是:

/home/storage/c/bc/69/mysite

我希望服务器忽略以下后缀:app、images e lib。有人知道怎么做吗?

如何在 apache 的 .htaccess 中使用后缀重写子域

Ps.:我的 .htaccess 在通过 www.mysite.com/asssets/api/app/carts 直接访问时用作魅力,这是存储在 /home/storage/c/bc/69/mysite/assets/ 中的 .htaccess 的代码接口:

重写规则 ^(^app/){1} /assets/api/app/index.php [NC,QSA]

sayabcd1 回答:如何在 apache 的 .htaccess 中使用后缀重写子域

您可以使用此规则来处理此重写:

RewriteCond %{HTTP_HOST} ^api\. [NC]
RewriteRule ^app/ /assets/api/app/index.php [L,NC,QSA]
本文链接:https://www.f2er.com/9458.html

大家都在问