<alias>
Summary
Defines an alternative hostname (alias) for an existing host in PageSeeder.
Host aliases allow you to access the same PageSeeder host using different domain names – useful for supporting multiple branded URLs, migration scenarios, or local development environments.
Usage context
| Permitted content | none (empty) |
|---|---|
| Permitted parent | <aliases> |
The <alias> element is always nested within an <aliases> container under a <host> element.
Attributes
This element includes the following attributes.
| Name | Type | Required | Description |
|---|---|---|---|
| id | xs:long | yes | The ID of the group |
| name | xs:string | yes | The hostname of the alias |
@id
The PageSeeder database identifier for the alias. It is always an immutable positive long value that is unique on a specific PageSeeder server within the set all aliases.
@name
The actual hostname that will serve as an alias, for example, app.example.org or local.example.com.
Requirements:
- Must be a valid domain name
- Case-insensitive
- Maximum length: 255 characters
- Must follow standard hostname conventions (alphanumeric characters and hyphens, no spaces)
Examples
Imagine you're running a PageSeeder instance for a company that uses multiple domains:
- Primary domain:
app.example.com - Legacy domain:
app.example.org - Content delivery network:
app.example.net - Local development:
app.localhost
XML Example
Here's a host configured with multiple aliases:
<host id="1" name="app.example.com" external="false">
<aliases>
<alias id="1" name="app.example.org"/>
<alias id="2" name="app.example.net"/>
<alias id="3" name="app.localhost"/>
<alias id="4" name="local.example.org"/>
</aliases>
</host>
JSON Example
The same configuration in JSON format:
{
"host": {
"id": 1,
"name": "app.example.com",
"external": false,
"aliases": [
{
"id": 1,
"name": "app.example.org"
},
{
"id": 2,
"name": "app.example.net"
},
{
"id": 3,
"name": "app.localhost"
},
{
"id": 4,
"name": "local.example.org"
}
]
}
}Schema
XML Schema
<xs:element name="alias" type="alias"/>
<xs:complexType name="alias">
<xs:attribute name="id" type="id" use="required"/>
<xs:attribute name="name" type="hostname" use="required"/>
</xs:complexType>
<xs:simpleType name="hostname">
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
<xs:pattern
value="([a-z0-9]([a-z0-9-]*[a-z0-9])?\.?)+[a-z0-9]([a-z0-9-]*[a-z0-9])?"/>
</xs:restriction>
</xs:simpleType>
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"minimum": 1,
"description": "The PageSeeder database identifier for the alias"
},
"name": {
"type": "string",
"maxLength": 255,
"pattern": "^([a-z0-9]([a-z0-9-]*[a-z0-9])?\\.?)+[a-z0-9]([a-z0-9-]*[a-z0-9])?$",
"description": "The hostname of the alias (valid domain name, case-insensitive, max 255 characters)"
}
},
"required": ["id", "name"],
"additionalProperties": false
}
Compatibility
Stable since initial API release. No breaking changes.