---
order: 10
navTitle: 应用设置
---
# 应用设置

## 短路径{#shorturls}

短路径配置主要用于精简、美化业务应用的URL地址，并且更好的支持SEO。

在应用设置中配置好短路径后，当浏览器访问的URL匹配到了配置的短路径规则，服务器端会将请求转发到对应的源路径上，浏览器收到的就是源路径的响应内容。当用户在浏览器进行操作引起了当前页面URL发生变化，此时也会将匹配的源路径替换为短路径，总是会确保浏览的URL是期望的短路径。

![短路径设置](./images/2022-08-04-17-05-21.jpg)
示例地址：[应用设置](https://demo.succbi.com/v5/DEMO/app/DEMO.app?:edit=true&:file=settings.json)

::: warning 警告
配置路径映射时不仅需要配置直接访问业务应用的短路径，业务应用操作过程中URL会发生变化，短路径配置需要涵盖所有需要替换的URL。

例如配置了将路径`/demo`映射到应用`/DEMO/app/DEMO.app`，用户在界面上操作会让URL加上id参数，最终URL会变为`/demo?id=xxx`。如果需要URL形式为`/demo/xxx`，则需要添加映射规则`/demo/{id}`=>`/DEMO/app/DEMO.app?id={id}`。
:::

### 短路径配置规则{#shorturls-rules}

短路径和源路径之间支持以下几种匹配规则：

| 描述             | 短路径             | 源路径                       | 示例                                                                                                                               |
| :--------------- | :----------------- | :--------------------------- | :--------------------------------------------------------------------------------------------------------------------------------- |
| 完整路径匹配     | `/demo`            | `/DEMO/app/DEMO.app`         | 访问`/demo`，映射到`/DEMO/app/DEMO.app`                                                                                            |
| 路径变量匹配     | `/demo/{id}`       | `/DEMO/app/DEMO.app?id={id}` | 访问`/demo/图形`，映射到`/DEMO/app/DEMO.app?id=图形`                                                                               |
| 路径变量正则匹配 | `/demo/{id:[\d]+}` | `/DEMO/app/DEMO.app?id={id}` | 访问`/demo/123`，映射到`/DEMO/app/DEMO.app?id=123`。如果访问`/demo/abc`，则不会匹配到这条规则，如果也没有匹配到后续规则，会返回404 |
| 路径变量匹配 | `/demo/{mkbl}/{id}` | `/DEMO/app/DEMO_TEST.app/portal/{mkbl}.tpg?id={id}` | 访问`/demo/fs/权限`，映射到`/DEMO/app/DEMO_TEST.app/portal/fs.tpg?id=权限`|
| 当前目录匹配 | `/demo` | `.` |在应用`/DEMO/app/DEMO.app`中进行配置，访问`/demo`，映射到`/DEMO/app/DEMO.app`|
| 相对路径匹配 | `/demo/{id}` | `?id={id}` |在应用`/DEMO/app/DEMO.app`中进行配置,访问`/demo/图形`，映射到`/DEMO/app/DEMO.app?id=图形`|
| 设置不生效 | `/DEMO` | `/DEMO/app/DEMOAP.app` |访问`/DEMO`，因其是系统本来有效的路径，故不会匹配到`/DEMO/app/DEMOAP.app`，而展示本来的`/DEMO`页面|

说明：

1. 短路径中可以使用花括号括起来的变量，花括号括起来的内容可以只是变量名如`/demo/{id}`，也可以包括变量匹配的正则表达式如`/demo/{id:[\d]+}`，其中`id`是变量名，可以任意修改，变量名可以用到源路径中。
2. 变量只能匹配一级路径段不能匹配多级路径，如`/demo/{id}`可以匹配`/demo/001`但不能匹配`/demo/def/001`。
3. 源路径可以配置相对于当前应用的路径，例如在应用`/DEMO/app/DEMO.app`中配置源路径`home.tpg?id={id}`，则实际源路径为`/DEMO/app/DEMO.app/home.tpg?id={id}`。
4. 源路径可以使用`.`代表当前应用路径，例如在应用`/DEMO/app/DEMO.app`中配置源路径`.`，则实际源路径为`/DEMO/app/DEMO.app`。
5. 可能会有多条配置匹配到相同的路径的情况，此时可以通过调整配置顺序来调整优先级。
6. 配置的短路径不能与系统默认的路径相同，相同时将产生冲突，短路径设置不生效。例如`/DEMO/app/DEMOAP.app`的短路径不能配置为`/DEMO`、`/DEMO/app`等系统中本来有效的路径。
