@aglyn/plugins-redirections (英语)
Aglyn的再定向插件:一个站点的URL重定向规则,管理它们的控制台页面,在站点解决路由之前用重定向响应请求的服务器钩. 如果您运行 Aglyn 控制台和租户运行时间并想要重定向规则, 请安装它; 它是一个第一当事方插件, 不是一个独立的库 .
从Aglyn monorepo出版到npm. 随后的版本 语义版本。 。 。 .
安装
npm install @aglyn/plugins-redirects
同伴依赖性 : react, (中文(简体) ), @mui/material, (中文(简体) ), firebase,以及 firebase-admin 用于服务器条目.
里面有什么东西
在一个出版的网站上. 无所取取. 在服务器上执行重定向 : registerRedirectsApi (单位:千美元) tenantApi 登记员,出口自 @aglyn/plugins-redirects/server以 @aglyn/aglyn/server。对于每个请求,解析器都得到主机和路径,并返回目的地和状态代码,或者没有.
控制台 (单位:千美元)registerRedirectsConsole,则 console 书记官长:a Redirects 导航项目于 /redirects,门由 redirects 权利。 该页面为代码分解并打开后加载.
主控台服务器声明 (单位:千美元)registerRedirectsConsoleServerDeclarations,则 consoleServerDeclarations 登记员:服务器中一半的重定向导入和导出 redirect 资源草案与 redirect 构建操作 Aglyn AI 构建用途来创建,更新或删除一个站点的重定向规则. 编剧将重定向页面的检查(出版角色、 redirects 特性, redirectsPerHost 在创建、封锁、验证、复制和环路上,保留已公布的页面路径,除非项目说它被要求,并与成员一起为场外目的地盖章。 一条规则没有草案状态,所以一旦写出就被直播. 操纵台 redirect 记录路由打开Redictions页面.
规则模式从 .数字 :
HostRedirect: 一个规则的source, (中文(简体) ),destination, (中文(简体) ),statusCode(单位:千美元)REDIRECT_STATUS_CODES, (中文(简体) ),kind(单位:千美元)REDIRECT_KINDS数字 :exact, (中文(简体) ),prefix, (中文(简体) ),regex, (中文(简体) ),priority财务报告和审定财务报表enabled。 。 。 .matchRedirect(rules, path): 按优先顺序评价规则并返回 aRedirectMatch或者说null。残疾、自我瞄准和无效的规则从不开火,只有当规则记录了批准规则的出版商时,才向外部目的地提供服务.validateRedirectRule, (中文(简体) ),compileRedirectRegex, (中文(简体) ),normalizeRedirectSource, (中文(简体) ),normalizeRedirectDestination, (中文(简体) ),isExternalRedirectDestination, (中文(简体) ),isSelfRedirect, (中文(简体) ),REDIRECT_DEFAULT_PRIORITY。 。 。 .BUNDLE_ID(单位:千美元)'redirects') (中文(简体) ).
使用量
插件通过 Aglyn 的插件管理器加载: 生成的加载器会导入包, 并调用在 plugins.config.json。在启动时,电线插件用手拨打一次的应用程序:
// console, client side
import { registerRedirectsConsole } from '@aglyn/plugins-redirects'
registerRedirectsConsole()
// tenant runtime, server side
import { registerRedirectsApi } from '@aglyn/plugins-redirects/server'
registerRedirectsApi()
火柴是纯的,可以直接使用:
import { matchRedirect, type HostRedirect } from '@aglyn/plugins-redirects'
const rules: HostRedirect[] = [
{ source: '/old', destination: '/new', statusCode: 301 },
]
const match = matchRedirect(rules, '/old')
// match?.destination === '/new'
怎样才合适
一个插件软件包( E)scope:plugin) (中文(简体) ). 取决于核心@aglyn/aglyn(a) 租户包(@aglyn/tenant-data-admin, (中文(简体) ), @aglyn/tenant-feature-instance)和通用软件 @aglyn/shared-* 软件包。 它没有导入其他插件,核心从不导入: 租户运行时间询问注册的解析器,控制台通过加载器清单到达页面.
许可证
阿帕奇2.0 (英语). 资料来源: https://github.com/aglyn/aglyn/tree/main/libs/plugins/redivisions 页面存档备份,存于互联网档案馆