Origin-Pull URL Rewrite
Overview
When the client sends the request to the EdgeOne node, and the request fails to hit the node cache and needs to be returned to the origin, it supports the redirection of the request to the destination URL of the origin server according to the rules set by origin-pull URL rewrite. This feature does not affect the node cache.
Use cases
In certain cases, the URL accessed by the client has been published and should not be modified, but the origin server has changed its URL for certain reasons; or the URL accessed by the client differs from that on the origin server for SEO. Then, you can set origin-pull URL rewrite rules, so that the node can rewrite the origin-pull URL to the actual resource URL on the origin server without changing the URL accessed by the client.
Directions
Scenario: The client request URL is inconsistent with the corresponding origin server resource path
For example, when a client requests the URL path
https://www.example.com/online/index.html
from the site domain www.example.com
, and the file directory has been changed, it is necessary to remove the directory prefix /online
during the origin-pull to access the corresponding file resources. The following steps can be referred to:1. Log in to the EdgeOne console and click Site List in the left sidebar.In the site list, click the target Site.
2. On the site details page, click Site Acceleration to enter the global site configuration page, then click the Rule Engine tab.
3. On the rule engine management page, click Create rule and select Add blank rule.
4. On the rule editing page, select the Matching type as HOST is
www.example.com
.5. Click on Action, and in the pop-up action list, select the action as Rewrite origin-pull URL.
6. Select the Type as Remove path prefix, with the path prefix being
/online
, as configured below:
7. Click Save and Publish to complete the configuration.
Relevant References
The explanations for each configuration item of the origin-pull URL rewrite are as follows:
Type | Description |
Add path prefix | Add specified path prefix to request URL Path. The path prefix refers to the first directory after the domain name. For example, if the request URL is https://www.example.com/path0/index.html and the added path prefix is /prefix , then the resulting rewritten URL will be https://www.example.com/prefix/path0/index.html . |
Remove path prefix | Remove the specified path prefix from the request URL. The path prefix refers to the first directory after the domain name and only supports exact matching. For example, if the request URL is https://www.example.com/path0/path1/index.html and the specified path prefix to remove is /path0 , the rewritten URL will be https://www.example.com/path1/index.html .For instance, if the request URL is https://www.example.com/path000/path1/index.html and the specified path prefix to remove is /path0 , it will not match, and the rewriting rule will not take effect. |
Replace full path | Replace the complete request URL. For example, if the request URL is https://www.example.com/path0/index.html and the path to be replaced is /new/page.html , the rewritten URL will be https://www.example.com/new/page.html . |
Regular replacement | Supports matching and replacing paths using Google RE2 regular expressions. It also allows referencing regular expression capture groups using $num , where num represents the group number, such as $1 . The referenced group number must not exceed the total number of capture groups in the regular expression, and you must ensure that the replaced path starts with a / .For example: If you want to replace the path /old-path/1234 with /new-path/1234 , you can configure the regular expression as ^/old-path/(\d+)$ and the replacement path as /new-path/$1 , where $1 refers to the first capture group in the regular expression, i.e., the numeric part of the path. |