You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by li...@apache.org on 2022/06/08 02:32:24 UTC

[pulsar] branch master updated: [fix][doc] remove domain name (#15945)

This is an automated email from the ASF dual-hosted git repository.

liuyu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new 2c7c9e5fa64 [fix][doc] remove domain name (#15945)
2c7c9e5fa64 is described below

commit 2c7c9e5fa64ab50aa73a5441508c28b8e7c23230
Author: momo-jun <60...@users.noreply.github.com>
AuthorDate: Wed Jun 8 10:32:18 2022 +0800

    [fix][doc] remove domain name (#15945)
---
 site2/docs/administration-pulsar-manager.md        |  4 +-
 site2/docs/concepts-tiered-storage.md              |  2 +-
 site2/docs/deploy-monitoring.md                    |  2 +-
 site2/docs/functions-worker.md                     |  2 +-
 site2/docs/getting-started-helm.md                 |  2 +-
 site2/docs/getting-started-standalone.md           |  2 +-
 site2/docs/kubernetes-helm.md                      |  2 +-
 site2/docs/security-tls-authentication.md          |  2 +-
 site2/docs/standalone.md                           |  4 +-
 .../version-2.10.0/adaptors-kafka.md               | 56 ++++++-------
 .../version-2.10.0/admin-api-brokers.md            |  6 +-
 .../version-2.10.0/admin-api-clusters.md           |  6 +-
 .../version-2.10.0/admin-api-functions.md          |  6 +-
 .../version-2.10.0/admin-api-namespaces.md         |  6 +-
 .../version-2.10.0/admin-api-overview.md           |  8 +-
 .../version-2.10.0/admin-api-packages.md           |  4 +-
 .../version-2.10.0/admin-api-permissions.md        |  4 +-
 .../version-2.10.0/admin-api-tenants.md            |  4 +-
 .../version-2.10.0/admin-api-topics.md             |  4 +-
 .../administration-pulsar-manager.md               |  4 +-
 .../version-2.10.0/client-libraries-java.md        |  6 +-
 .../version-2.10.0/client-libraries-node.md        |  2 +-
 .../version-2.10.0/client-libraries-python.md      |  2 +-
 .../version-2.10.0/client-libraries-websocket.md   | 14 ++--
 .../version-2.10.0/client-libraries.md             | 10 +--
 .../version-2.10.0/concepts-messaging.md           |  4 +-
 .../version-2.10.0/concepts-tiered-storage.md      |  2 +-
 .../deploy-bare-metal-multi-cluster.md             |  2 +-
 .../version-2.10.0/deploy-bare-metal.md            |  6 +-
 .../version-2.10.0/deploy-monitoring.md            |  4 +-
 .../version-2.10.0/functions-deploy.md             |  2 +-
 .../version-2.10.0/functions-worker.md             |  3 +-
 .../version-2.10.0/getting-started-helm.md         |  2 +-
 .../version-2.10.0/getting-started-standalone.md   |  6 +-
 .../versioned_docs/version-2.10.0/io-cli.md        |  2 +-
 .../versioned_docs/version-2.10.0/io-debug.md      |  2 +-
 .../version-2.10.0/io-kafka-source.md              |  4 +-
 .../versioned_docs/version-2.10.0/io-overview.md   |  2 +-
 .../versioned_docs/version-2.10.0/io-quickstart.md | 36 ++++----
 .../versioned_docs/version-2.10.0/io-use.md        | 96 +++++++++++-----------
 .../version-2.10.0/performance-pulsar-perf.md      |  4 +-
 .../version-2.10.0/reference-cli-tools.md          |  2 +-
 .../version-2.10.0/reference-configuration.md      |  2 +-
 .../version-2.10.0/reference-connector-admin.md    |  2 +-
 .../version-2.10.0/reference-pulsar-admin.md       |  2 +-
 .../version-2.10.0/reference-rest-api-overview.md  | 10 +--
 .../versioned_docs/version-2.10.0/schema-manage.md | 12 +--
 .../version-2.10.0/security-extending.md           |  4 +-
 .../version-2.10.0/security-tls-authentication.md  |  2 +-
 .../versioned_docs/version-2.10.0/standalone.md    |  6 +-
 .../version-2.10.0/tiered-storage-aliyun.md        | 12 +--
 .../version-2.10.0/tiered-storage-aws.md           | 10 +--
 .../version-2.10.0/tiered-storage-azure.md         | 10 +--
 .../version-2.10.0/tiered-storage-filesystem.md    |  4 +-
 .../version-2.10.0/tiered-storage-gcs.md           |  4 +-
 .../versioned_docs/version-2.10.0/txn-monitor.md   |  4 +-
 .../versioned_docs/version-2.10.0/txn-use.md       |  2 +-
 .../versioned_docs/version-2.10.0/txn-what.md      |  2 +-
 .../versioned_docs/version-2.10.0/txn-why.md       |  2 +-
 59 files changed, 216 insertions(+), 217 deletions(-)

diff --git a/site2/docs/administration-pulsar-manager.md b/site2/docs/administration-pulsar-manager.md
index 5997a58afea..7c21136ad9e 100644
--- a/site2/docs/administration-pulsar-manager.md
+++ b/site2/docs/administration-pulsar-manager.md
@@ -86,7 +86,7 @@ jwt.broker.secret.key=file:///path/broker-secret.key
 •	`jwt.broker.public.key`: configure this option if you use the PUBLIC mode.  
 •	`jwt.broker.private.key`: configure this option if you use the PRIVATE mode.  
 •	`jwt.broker.secret.key`: configure this option if you use the SECRET mode.  
-For more information, see [Token Authentication Admin of Pulsar](/docs/en/security-token-admin/).
+For more information, see [Token Authentication Admin of Pulsar](security-token-admin).
 
 Docker command to add profile and key files mount.
 
@@ -145,7 +145,7 @@ The request parameter in curl command:
 
 When using binary packages for direct deployment, you can follow these steps.
 
-- Download and unzip the binary package, which is available on the [Pulsar Download](/en/download/) page.
+- Download and unzip the binary package, which is available on the [Pulsar Download](/download/) page.
 
   ```bash
   
diff --git a/site2/docs/concepts-tiered-storage.md b/site2/docs/concepts-tiered-storage.md
index 30b6077eca8..b5bf290a6cd 100644
--- a/site2/docs/concepts-tiered-storage.md
+++ b/site2/docs/concepts-tiered-storage.md
@@ -12,6 +12,6 @@ One way to alleviate this cost is to use Tiered Storage. With tiered storage, ol
 
 > Data written to BookKeeper is replicated to 3 physical machines by default. However, once a segment is sealed in BookKeeper it becomes immutable and can be copied to long term storage. Long term storage can achieve cost savings by using mechanisms such as [Reed-Solomon error correction](https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction) to require fewer physical copies of data.
 
-Pulsar currently supports S3, Google Cloud Storage (GCS), and filesystem for [long term store](/docs/en/cookbooks-tiered-storage/). Offloading to long term storage triggered via a Rest API or command line interface. The user passes in the amount of topic data they wish to retain on BookKeeper, and the broker will copy the backlog data to long term storage. The original data will then be deleted from BookKeeper after a configured delay (4 hours by default).
+Pulsar currently supports S3, Google Cloud Storage (GCS), and filesystem for [long term store](cookbooks-tiered-storage). Offloading to long term storage triggered via a Rest API or command line interface. The user passes in the amount of topic data they wish to retain on BookKeeper, and the broker will copy the backlog data to long term storage. The original data will then be deleted from BookKeeper after a configured delay (4 hours by default).
 
 > For a guide for setting up tiered storage, see the [Tiered storage cookbook](cookbooks-tiered-storage).
diff --git a/site2/docs/deploy-monitoring.md b/site2/docs/deploy-monitoring.md
index 705630c71b9..f5c1c4d35c7 100644
--- a/site2/docs/deploy-monitoring.md
+++ b/site2/docs/deploy-monitoring.md
@@ -130,7 +130,7 @@ When you deploy Pulsar on Kubernetes with the Pulsar Helm Chart, a `pulsar-grafa
 
 The following are some Grafana dashboards examples:
 
-- [pulsar-grafana](/docs/en/deploy-monitoring/#grafana): a Grafana dashboard that displays metrics collected in Prometheus for Pulsar clusters running on Kubernetes.
+- [pulsar-grafana](deploy-monitoring.md#grafana): a Grafana dashboard that displays metrics collected in Prometheus for Pulsar clusters running on Kubernetes.
 - [apache-pulsar-grafana-dashboard](https://github.com/streamnative/apache-pulsar-grafana-dashboard): a collection of Grafana dashboard templates for different Pulsar components running on both Kubernetes and on-premise machines.
 
 ## Alerting rules
diff --git a/site2/docs/functions-worker.md b/site2/docs/functions-worker.md
index e790196d917..45f5e075f83 100644
--- a/site2/docs/functions-worker.md
+++ b/site2/docs/functions-worker.md
@@ -337,7 +337,7 @@ Hence you need to configure your `pulsar-admin` to use the right service URL acc
 
 In order to address this inconvenience, you can start a proxy cluster for routing the admin rest requests accordingly. Hence you will have one central entry point for your admin service.
 
-If you already have a proxy cluster, continue reading. If you haven't setup a proxy cluster before, you can follow the [instructions](/docs/en/administration-proxy/) to
+If you already have a proxy cluster, continue reading. If you haven't setup a proxy cluster before, you can follow the [instructions](administration-proxy) to
 start proxies.    
 
 ![assets/functions-worker-separated.png](/assets/functions-worker-separated-proxy.png)
diff --git a/site2/docs/getting-started-helm.md b/site2/docs/getting-started-helm.md
index e3f6907aa75..17d539718e5 100644
--- a/site2/docs/getting-started-helm.md
+++ b/site2/docs/getting-started-helm.md
@@ -313,7 +313,7 @@ brokerServiceUrl=pulsar://127.0.0.1:61854/
 
 Then you can proceed with the following steps:
 
-1. Download the Apache Pulsar tarball from the [downloads page](/en/download/).
+1. Download the Apache Pulsar tarball from the [downloads page](/download/).
 
 2. Decompress the tarball based on your download file.
 
diff --git a/site2/docs/getting-started-standalone.md b/site2/docs/getting-started-standalone.md
index 35ab327c945..93bba009322 100644
--- a/site2/docs/getting-started-standalone.md
+++ b/site2/docs/getting-started-standalone.md
@@ -262,7 +262,7 @@ Press `Ctrl+C` to stop a local standalone Pulsar.
 :::tip
 
 If the service runs as a background process using the `bin/pulsar-daemon start standalone` command, then use the `bin/pulsar-daemon stop standalone`  command to stop the service.
-For more information, see [pulsar-daemon](/docs/en/reference-cli-tools/#pulsar-daemon).
+For more information, see [pulsar-daemon](reference-cli-tools.md#pulsar-daemon).
 
 :::
 
diff --git a/site2/docs/kubernetes-helm.md b/site2/docs/kubernetes-helm.md
index 6353bae71e4..b46d8bdd51b 100644
--- a/site2/docs/kubernetes-helm.md
+++ b/site2/docs/kubernetes-helm.md
@@ -313,7 +313,7 @@ brokerServiceUrl=pulsar://127.0.0.1:61854/
 
 Then you can proceed with the following steps:
 
-1. Download the Apache Pulsar tarball from the [downloads page](/en/download/).
+1. Download the Apache Pulsar tarball from the [downloads page](/download/).
 
 2. Decompress the tarball based on your download file.
 
diff --git a/site2/docs/security-tls-authentication.md b/site2/docs/security-tls-authentication.md
index 091f6b33f85..4ff5999fdb0 100644
--- a/site2/docs/security-tls-authentication.md
+++ b/site2/docs/security-tls-authentication.md
@@ -46,7 +46,7 @@ $ openssl req -config openssl.cnf \
 
 :::note
 
-If openssl.cnf is not specified, read [Certificate authority](/docs/en/security-tls-transport/#certificate-authority) to get the openssl.cnf.
+If openssl.cnf is not specified, read [Certificate authority](security-tls-transport.md#certificate-authority) to get the openssl.cnf.
 
 :::
 
diff --git a/site2/docs/standalone.md b/site2/docs/standalone.md
index a7b7f8cb69b..89b757396c4 100644
--- a/site2/docs/standalone.md
+++ b/site2/docs/standalone.md
@@ -202,7 +202,7 @@ If you have started Pulsar successfully, you will see `INFO`-level log messages
 
 :::
 
-You can also run the service as a background process using the `bin/pulsar-daemon start standalone` command. For more information, see [pulsar-daemon](/docs/en/reference-cli-tools/#pulsar-daemon).
+You can also run the service as a background process using the `bin/pulsar-daemon start standalone` command. For more information, see [pulsar-daemon](reference-cli-tools.md#pulsar-daemon).
 > 
 > * By default, there is no encryption, authentication, or authorization configured. Apache Pulsar can be accessed from remote server without any authorization. Please do check [Security Overview](security-overview) document to secure your deployment.
 >
@@ -261,7 +261,7 @@ Press `Ctrl+C` to stop a local standalone Pulsar.
 :::tip
 
 If the service runs as a background process using the `bin/pulsar-daemon start standalone` command, then use the `bin/pulsar-daemon stop standalone`  command to stop the service.
-For more information, see [pulsar-daemon](/docs/en/reference-cli-tools/#pulsar-daemon).
+For more information, see [pulsar-daemon](reference-cli-tools.md#pulsar-daemon).
 
 :::
 
diff --git a/site2/website/versioned_docs/version-2.10.0/adaptors-kafka.md b/site2/website/versioned_docs/version-2.10.0/adaptors-kafka.md
index ea256049710..e738f9d94b6 100644
--- a/site2/website/versioned_docs/version-2.10.0/adaptors-kafka.md
+++ b/site2/website/versioned_docs/version-2.10.0/adaptors-kafka.md
@@ -234,43 +234,43 @@ You can configure Pulsar authentication provider directly from the Kafka propert
 
 | Config property                        | Default | Notes                                                                                  |
 |:---------------------------------------|:--------|:---------------------------------------------------------------------------------------|
-| [`pulsar.authentication.class`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-org.apache.pulsar.client.api.Authentication-)          |         | Configure to auth provider. For example, `org.apache.pulsar.client.impl.auth.AuthenticationTls`.|
-| [`pulsar.authentication.params.map`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-java.lang.String-java.util.Map-)          |         | Map which represents parameters for the Authentication-Plugin. |
-| [`pulsar.authentication.params.string`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-java.lang.String-java.lang.String-)          |         | String which represents parameters for the Authentication-Plugin, for example, `key1:val1,key2:val2`. |
-| [`pulsar.use.tls`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setUseTls-boolean-)                       | `false` | Enable TLS transport encryption.                                                        |
-| [`pulsar.tls.trust.certs.file.path`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setTlsTrustCertsFilePath-java.lang.String-)   |         | Path for the TLS trust certificate store.                                               |
-| [`pulsar.tls.allow.insecure.connection`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setTlsAllowInsecureConnection-boolean-) | `false` | Accept self-signed certificates from brokers.                                           |
-| [`pulsar.operation.timeout.ms`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setOperationTimeout-int-java.util.concurrent.TimeUnit-) | `30000` | General operations timeout. |
-| [`pulsar.stats.interval.seconds`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setStatsInterval-long-java.util.concurrent.TimeUnit-) | `60` | Pulsar client lib stats printing interval. |
-| [`pulsar.num.io.threads`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setIoThreads-int-) | `1` | The number of Netty IO threads to use. |
-| [`pulsar.connections.per.broker`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setConnectionsPerBroker-int-) | `1` | The maximum number of connection to each broker. |
-| [`pulsar.use.tcp.nodelay`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setUseTcpNoDelay-boolean-) | `true` | TCP no-delay. |
-| [`pulsar.concurrent.lookup.requests`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setConcurrentLookupRequest-int-) | `50000` | The maximum number of concurrent topic lookups. |
-| [`pulsar.max.number.rejected.request.per.connection`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setMaxNumberOfRejectedRequestPerConnection-int-) | `50` | The threshold of errors to forcefully close a connection. |
-| [`pulsar.keepalive.interval.ms`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientBuilder.html#keepAliveInterval-int-java.util.concurrent.TimeUnit-)| `30000` | Keep alive interval for each client-broker-connection.  |
+| [`pulsar.authentication.class`](/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-org.apache.pulsar.client.api.Authentication-)          |         | Configure to auth provider. For example, `org.apache.pulsar.client.impl.auth.AuthenticationTls`.|
+| [`pulsar.authentication.params.map`](/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-java.lang.String-java.util.Map-)          |         | Map which represents parameters for the Authentication-Plugin. |
+| [`pulsar.authentication.params.string`](/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-java.lang.String-java.lang.String-)          |         | String which represents parameters for the Authentication-Plugin, for example, `key1:val1,key2:val2`. |
+| [`pulsar.use.tls`](/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setUseTls-boolean-)                       | `false` | Enable TLS transport encryption.                                                        |
+| [`pulsar.tls.trust.certs.file.path`](/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setTlsTrustCertsFilePath-java.lang.String-)   |         | Path for the TLS trust certificate store.                                               |
+| [`pulsar.tls.allow.insecure.connection`](/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setTlsAllowInsecureConnection-boolean-) | `false` | Accept self-signed certificates from brokers.                                           |
+| [`pulsar.operation.timeout.ms`](/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setOperationTimeout-int-java.util.concurrent.TimeUnit-) | `30000` | General operations timeout. |
+| [`pulsar.stats.interval.seconds`](/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setStatsInterval-long-java.util.concurrent.TimeUnit-) | `60` | Pulsar client lib stats printing interval. |
+| [`pulsar.num.io.threads`](/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setIoThreads-int-) | `1` | The number of Netty IO threads to use. |
+| [`pulsar.connections.per.broker`](/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setConnectionsPerBroker-int-) | `1` | The maximum number of connection to each broker. |
+| [`pulsar.use.tcp.nodelay`](/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setUseTcpNoDelay-boolean-) | `true` | TCP no-delay. |
+| [`pulsar.concurrent.lookup.requests`](/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setConcurrentLookupRequest-int-) | `50000` | The maximum number of concurrent topic lookups. |
+| [`pulsar.max.number.rejected.request.per.connection`](/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setMaxNumberOfRejectedRequestPerConnection-int-) | `50` | The threshold of errors to forcefully close a connection. |
+| [`pulsar.keepalive.interval.ms`](/api/client/org/apache/pulsar/client/api/ClientBuilder.html#keepAliveInterval-int-java.util.concurrent.TimeUnit-)| `30000` | Keep alive interval for each client-broker-connection.  |
 
 
 ### Pulsar producer properties
 
 | Config property                        | Default | Notes                                                                                  |
 |:---------------------------------------|:--------|:---------------------------------------------------------------------------------------|
-| [`pulsar.producer.name`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setProducerName-java.lang.String-) | | Specify the producer name. |
-| [`pulsar.producer.initial.sequence.id`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setInitialSequenceId-long-) |  | Specify baseline for sequence ID of this producer. |
-| [`pulsar.producer.max.pending.messages`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setMaxPendingMessages-int-) | `1000` | Set the maximum size of the message queue pending to receive an acknowledgment from the broker.  |
-| [`pulsar.producer.max.pending.messages.across.partitions`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setMaxPendingMessagesAcrossPartitions-int-) | `50000` | Set the maximum number of pending messages across all the partitions.  |
-| [`pulsar.producer.batching.enabled`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setBatchingEnabled-boolean-) | `true` | Control whether automatic batching of messages is enabled for the producer. |
-| [`pulsar.producer.batching.max.messages`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setBatchingMaxMessages-int-) | `1000` | The maximum number of messages in a batch. |
-| [`pulsar.block.if.producer.queue.full`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setBlockIfQueueFull-boolean-) | | Specify the block producer if queue  is full. |
-| [`pulsar.crypto.reader.factory.class.name`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setCryptoKeyReader-org.apache.pulsar.client.api.CryptoKeyReader-) | | Specify the CryptoReader-Factory(`CryptoKeyReaderFactory`) classname which allows producer to create CryptoKeyReader. |
+| [`pulsar.producer.name`](/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setProducerName-java.lang.String-) | | Specify the producer name. |
+| [`pulsar.producer.initial.sequence.id`](/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setInitialSequenceId-long-) |  | Specify baseline for sequence ID of this producer. |
+| [`pulsar.producer.max.pending.messages`](/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setMaxPendingMessages-int-) | `1000` | Set the maximum size of the message queue pending to receive an acknowledgment from the broker.  |
+| [`pulsar.producer.max.pending.messages.across.partitions`](/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setMaxPendingMessagesAcrossPartitions-int-) | `50000` | Set the maximum number of pending messages across all the partitions.  |
+| [`pulsar.producer.batching.enabled`](/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setBatchingEnabled-boolean-) | `true` | Control whether automatic batching of messages is enabled for the producer. |
+| [`pulsar.producer.batching.max.messages`](/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setBatchingMaxMessages-int-) | `1000` | The maximum number of messages in a batch. |
+| [`pulsar.block.if.producer.queue.full`](/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setBlockIfQueueFull-boolean-) | | Specify the block producer if queue  is full. |
+| [`pulsar.crypto.reader.factory.class.name`](/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setCryptoKeyReader-org.apache.pulsar.client.api.CryptoKeyReader-) | | Specify the CryptoReader-Factory(`CryptoKeyReaderFactory`) classname which allows producer to create CryptoKeyReader. |
 
 
 ### Pulsar consumer Properties
 
 | Config property                        | Default | Notes                                                                                  |
 |:---------------------------------------|:--------|:---------------------------------------------------------------------------------------|
-| [`pulsar.consumer.name`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setConsumerName-java.lang.String-) | | Specify the consumer name. |
-| [`pulsar.consumer.receiver.queue.size`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setReceiverQueueSize-int-) | 1000 | Set the size of the consumer receiver queue. |
-| [`pulsar.consumer.acknowledgments.group.time.millis`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html#acknowledgmentGroupTime-long-java.util.concurrent.TimeUnit-) | 100 | Set the maximum amount of group time for consumers to send the acknowledgments to the broker. |
-| [`pulsar.consumer.total.receiver.queue.size.across.partitions`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setMaxTotalReceiverQueueSizeAcrossPartitions-int-) | 50000 | Set the maximum size of the total receiver queue across partitions. |
-| [`pulsar.consumer.subscription.topics.mode`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html#subscriptionTopicsMode-Mode-) | PersistentOnly | Set the subscription topic mode for consumers. |
-| [`pulsar.crypto.reader.factory.class.name`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setCryptoKeyReader-org.apache.pulsar.client.api.CryptoKeyReader-) | | Specify the CryptoReader-Factory(`CryptoKeyReaderFactory`) classname which allows consumer to create CryptoKeyReader. |
+| [`pulsar.consumer.name`](/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setConsumerName-java.lang.String-) | | Specify the consumer name. |
+| [`pulsar.consumer.receiver.queue.size`](/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setReceiverQueueSize-int-) | 1000 | Set the size of the consumer receiver queue. |
+| [`pulsar.consumer.acknowledgments.group.time.millis`](/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html#acknowledgmentGroupTime-long-java.util.concurrent.TimeUnit-) | 100 | Set the maximum amount of group time for consumers to send the acknowledgments to the broker. |
+| [`pulsar.consumer.total.receiver.queue.size.across.partitions`](/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setMaxTotalReceiverQueueSizeAcrossPartitions-int-) | 50000 | Set the maximum size of the total receiver queue across partitions. |
+| [`pulsar.consumer.subscription.topics.mode`](/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html#subscriptionTopicsMode-Mode-) | PersistentOnly | Set the subscription topic mode for consumers. |
+| [`pulsar.crypto.reader.factory.class.name`](/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setCryptoKeyReader-org.apache.pulsar.client.api.CryptoKeyReader-) | | Specify the CryptoReader-Factory(`CryptoKeyReaderFactory`) classname which allows consumer to create CryptoKeyReader. |
diff --git a/site2/website/versioned_docs/version-2.10.0/admin-api-brokers.md b/site2/website/versioned_docs/version-2.10.0/admin-api-brokers.md
index 65ad8c4d62b..3a0eb1cdc8c 100644
--- a/site2/website/versioned_docs/version-2.10.0/admin-api-brokers.md
+++ b/site2/website/versioned_docs/version-2.10.0/admin-api-brokers.md
@@ -15,11 +15,11 @@ import TabItem from '@theme/TabItem';
 >
 > This page only shows **some frequently used operations**.
 >
-> - For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more information, see [Pulsar admin doc](https://pulsar.apache.org/tools/pulsar-admin/).
+> - For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more information, see [Pulsar admin doc](/tools/pulsar-admin/).
 > 
 > - For the latest and complete information about `REST API`, including parameters, responses, samples, and more, see {@inject: rest:REST:/} API doc.
 > 
-> - For the latest and complete information about `Java admin API`, including classes, methods, descriptions, and more, see [Java admin API doc](https://pulsar.apache.org/api/admin/).
+> - For the latest and complete information about `Java admin API`, including classes, methods, descriptions, and more, see [Java admin API doc](/api/admin/).
 
 Pulsar brokers consist of two components:
 
@@ -28,7 +28,7 @@ Pulsar brokers consist of two components:
 
 [Brokers](reference-terminology.md#broker) can be managed via:
 
-* The `brokers` command of the [`pulsar-admin`](https://pulsar.apache.org/tools/pulsar-admin/) tool
+* The `brokers` command of the [`pulsar-admin`](/tools/pulsar-admin/) tool
 * The `/admin/v2/brokers` endpoint of the admin {@inject: rest:REST:/} API
 * The `brokers` method of the `PulsarAdmin` object in the [Java API](client-libraries-java)
 
diff --git a/site2/website/versioned_docs/version-2.10.0/admin-api-clusters.md b/site2/website/versioned_docs/version-2.10.0/admin-api-clusters.md
index c434a3bbb14..746bf1adaa5 100644
--- a/site2/website/versioned_docs/version-2.10.0/admin-api-clusters.md
+++ b/site2/website/versioned_docs/version-2.10.0/admin-api-clusters.md
@@ -15,18 +15,18 @@ import TabItem from '@theme/TabItem';
 >
 > This page only shows **some frequently used operations**.
 >
-> - For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more, see [Pulsar admin doc](https://pulsar.apache.org/tools/pulsar-admin/)
+> - For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more, see [Pulsar admin doc](/tools/pulsar-admin/)
 > 
 > - For the latest and complete information about `REST API`, including parameters, responses, samples, and more, see {@inject: rest:REST:/} API doc.
 > 
-> - For the latest and complete information about `Java admin API`, including classes, methods, descriptions, and more, see [Java admin API doc](https://pulsar.apache.org/api/admin/).
+> - For the latest and complete information about `Java admin API`, including classes, methods, descriptions, and more, see [Java admin API doc](/api/admin/).
 
 Pulsar clusters consist of one or more Pulsar [brokers](reference-terminology.md#broker), one or more [BookKeeper](reference-terminology.md#bookkeeper)
 servers (aka [bookies](reference-terminology.md#bookie)), and a [ZooKeeper](https://zookeeper.apache.org) cluster that provides configuration and coordination management.
 
 Clusters can be managed via:
 
-* The `clusters` command of the [`pulsar-admin`]([reference-pulsar-admin.md](https://pulsar.apache.org/tools/pulsar-admin/)) tool
+* The `clusters` command of the [`pulsar-admin`](/tools/pulsar-admin/)) tool
 * The `/admin/v2/clusters` endpoint of the admin {@inject: rest:REST:/} API
 * The `clusters` method of the `PulsarAdmin` object in the [Java API](client-libraries-java)
 
diff --git a/site2/website/versioned_docs/version-2.10.0/admin-api-functions.md b/site2/website/versioned_docs/version-2.10.0/admin-api-functions.md
index 9478704c4c0..b7742187324 100644
--- a/site2/website/versioned_docs/version-2.10.0/admin-api-functions.md
+++ b/site2/website/versioned_docs/version-2.10.0/admin-api-functions.md
@@ -15,11 +15,11 @@ import TabItem from '@theme/TabItem';
 >
 > This page only shows **some frequently used operations**.
 >
-> - For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more, see [Pulsar admin doc](https://pulsar.apache.org/tools/pulsar-admin/)
+> - For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more, see [Pulsar admin doc](/tools/pulsar-admin/)
 > 
 > - For the latest and complete information about `REST API`, including parameters, responses, samples, and more, see {@inject: rest:REST:/} API doc.
 > 
-> - For the latest and complete information about `Java admin API`, including classes, methods, descriptions, and more, see [Java admin API doc](https://pulsar.apache.org/api/admin/).
+> - For the latest and complete information about `Java admin API`, including classes, methods, descriptions, and more, see [Java admin API doc](/api/admin/).
 
 **Pulsar Functions** are lightweight compute processes that
 
@@ -31,7 +31,7 @@ Functions can be managed via the following methods.
 
 Method | Description
 ---|---
-**Admin CLI** | The `functions` command of the [`pulsar-admin`](https://pulsar.apache.org/tools/pulsar-admin/) tool.
+**Admin CLI** | The `functions` command of the [`pulsar-admin`](/tools/pulsar-admin/) tool.
 **REST API** |The `/admin/v3/functions` endpoint of the admin {@inject: rest:REST:/} API.
 **Java Admin API**| The `functions` method of the `PulsarAdmin` object in the [Java API](client-libraries-java).
 
diff --git a/site2/website/versioned_docs/version-2.10.0/admin-api-namespaces.md b/site2/website/versioned_docs/version-2.10.0/admin-api-namespaces.md
index 39d5099ab78..d80f459b67f 100644
--- a/site2/website/versioned_docs/version-2.10.0/admin-api-namespaces.md
+++ b/site2/website/versioned_docs/version-2.10.0/admin-api-namespaces.md
@@ -15,17 +15,17 @@ import TabItem from '@theme/TabItem';
 >
 > This page only shows **some frequently used operations**.
 >
-> - For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more information, see [Pulsar admin doc](https://pulsar.apache.org/tools/pulsar-admin/).
+> - For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more information, see [Pulsar admin doc](/tools/pulsar-admin/).
 > 
 > - For the latest and complete information about `REST API`, including parameters, responses, samples, and more, see {@inject: rest:REST:/} API doc.
 > 
-> - For the latest and complete information about `Java admin API`, including classes, methods, descriptions, and more, see [Java admin API doc](https://pulsar.apache.org/api/admin/).
+> - For the latest and complete information about `Java admin API`, including classes, methods, descriptions, and more, see [Java admin API doc](/api/admin/).
 
 Pulsar [namespaces](reference-terminology.md#namespace) are logical groupings of [topics](reference-terminology.md#topic).
 
 Namespaces can be managed via:
 
-* The `namespaces` command of the [`pulsar-admin`](https://pulsar.apache.org/tools/pulsar-admin/) tool
+* The `namespaces` command of the [`pulsar-admin`](/tools/pulsar-admin/) tool
 * The `/admin/v2/namespaces` endpoint of the admin {@inject: rest:REST:/} API
 * The `namespaces` method of the `PulsarAdmin` object in the [Java API](client-libraries-java)
 
diff --git a/site2/website/versioned_docs/version-2.10.0/admin-api-overview.md b/site2/website/versioned_docs/version-2.10.0/admin-api-overview.md
index 6aa4aa067ae..408f1943fff 100644
--- a/site2/website/versioned_docs/version-2.10.0/admin-api-overview.md
+++ b/site2/website/versioned_docs/version-2.10.0/admin-api-overview.md
@@ -25,7 +25,7 @@ You can interact with the admin interface via:
 
   > **Important**
   > 
-  > For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more information, see [Pulsar admin doc](https://pulsar.apache.org/tools/pulsar-admin/).
+  > For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more information, see [Pulsar admin doc](/tools/pulsar-admin/).
 
 - HTTP calls, which are made against the admin {@inject: rest:REST:/} API provided by Pulsar brokers. For some RESTful APIs, they might be redirected to the owner brokers for serving with [`307 Temporary Redirect`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/307), hence the HTTP callers should handle `307 Temporary Redirect`. If you use `curl` commands, you should specify `-L` to handle redirections.
   
@@ -37,7 +37,7 @@ You can interact with the admin interface via:
   
   > **Important**
   > 
-  > For the latest and complete information about `Java admin API`, including classes, methods, descriptions, and more, see [Java admin API doc](https://pulsar.apache.org/api/admin/).
+  > For the latest and complete information about `Java admin API`, including classes, methods, descriptions, and more, see [Java admin API doc](/api/admin/).
 
 > **The REST API is the admin interface**. Both the `pulsar-admin` CLI tool and the Java client use the REST API. If you implement your own admin interface client, you should use the REST API. 
 
@@ -137,8 +137,8 @@ Kubernetes requires a name that can be used as a DNS subdomain name as defined i
   
 :::tip
 
-- If you get an error in translating Pulsar object names into Kubernetes resource labels (for example, you may have a naming collision if your Pulsar object name is too long) or want to customize the translating rules, see [customize Kubernetes runtime](https://pulsar.apache.org/docs/en/next/functions-runtime/#customize-kubernetes-runtime).
-- For how to configure Kubernetes runtime, see [here](https://pulsar.apache.org/docs/en/next/functions-runtime/#configure-kubernetes-runtime).
+- If you get an error in translating Pulsar object names into Kubernetes resource labels (for example, you may have a naming collision if your Pulsar object name is too long) or want to customize the translating rules, see [customize Kubernetes runtime](functions-runtime.md#customize-kubernetes-runtime).
+- For how to configure Kubernetes runtime, see [here](functions-runtime.md#configure-kubernetes-runtime).
 
 :::
 
diff --git a/site2/website/versioned_docs/version-2.10.0/admin-api-packages.md b/site2/website/versioned_docs/version-2.10.0/admin-api-packages.md
index 983a296e25a..a6d9446ace7 100644
--- a/site2/website/versioned_docs/version-2.10.0/admin-api-packages.md
+++ b/site2/website/versioned_docs/version-2.10.0/admin-api-packages.md
@@ -15,11 +15,11 @@ import TabItem from '@theme/TabItem';
 >
 > This page only shows **some frequently used operations**.
 >
-> - For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more, see [Pulsar admin doc](https://pulsar.apache.org/tools/pulsar-admin/).
+> - For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more, see [Pulsar admin doc](/tools/pulsar-admin/).
 > 
 > - For the latest and complete information about `REST API`, including parameters, responses, samples, and more, see {@inject: rest:REST:/} API doc.
 > 
-> - For the latest and complete information about `Java admin API`, including classes, methods, descriptions, and more, see [Java admin API doc](https://pulsar.apache.org/api/admin/).
+> - For the latest and complete information about `Java admin API`, including classes, methods, descriptions, and more, see [Java admin API doc](/api/admin/).
 
 Package managers or package-management systems automatically manage packages in a consistent manner. These tools simplify the installation tasks, upgrade process, and deletion operations for users. A package is a minimal unit that a package manager deals with. In Pulsar, packages are organized at the tenant- and namespace-level to manage Pulsar Functions and Pulsar IO connectors (i.e., source and sink).
 
diff --git a/site2/website/versioned_docs/version-2.10.0/admin-api-permissions.md b/site2/website/versioned_docs/version-2.10.0/admin-api-permissions.md
index d803c0b6c0e..5ace9d573bd 100644
--- a/site2/website/versioned_docs/version-2.10.0/admin-api-permissions.md
+++ b/site2/website/versioned_docs/version-2.10.0/admin-api-permissions.md
@@ -15,11 +15,11 @@ import TabItem from '@theme/TabItem';
 >
 > This page only shows **some frequently used operations**.
 >
-> - For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more, see [Pulsar admin doc](https://pulsar.apache.org/tools/pulsar-admin/)
+> - For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more, see [Pulsar admin doc](/tools/pulsar-admin/)
 > 
 > - For the latest and complete information about `REST API`, including parameters, responses, samples, and more, see {@inject: rest:REST:/} API doc.
 > 
-> - For the latest and complete information about `Java admin API`, including classes, methods, descriptions, and more, see [Java admin API doc](https://pulsar.apache.org/api/admin/).
+> - For the latest and complete information about `Java admin API`, including classes, methods, descriptions, and more, see [Java admin API doc](/api/admin/).
 
 Pulsar allows you to grant namespace-level or topic-level permission to users.
 
diff --git a/site2/website/versioned_docs/version-2.10.0/admin-api-tenants.md b/site2/website/versioned_docs/version-2.10.0/admin-api-tenants.md
index 119e55ece3b..2e1c8f42fb0 100644
--- a/site2/website/versioned_docs/version-2.10.0/admin-api-tenants.md
+++ b/site2/website/versioned_docs/version-2.10.0/admin-api-tenants.md
@@ -15,11 +15,11 @@ import TabItem from '@theme/TabItem';
 >
 > This page only shows **some frequently used operations**.
 >
-> - For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more, see [Pulsar admin doc](https://pulsar.apache.org/tools/pulsar-admin/)
+> - For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more, see [Pulsar admin doc](/tools/pulsar-admin/)
 > 
 > - For the latest and complete information about `REST API`, including parameters, responses, samples, and more, see {@inject: rest:REST:/} API doc.
 > 
-> - For the latest and complete information about `Java admin API`, including classes, methods, descriptions, and more, see [Java admin API doc](https://pulsar.apache.org/api/admin/).
+> - For the latest and complete information about `Java admin API`, including classes, methods, descriptions, and more, see [Java admin API doc](/api/admin/).
 
 Tenants, like namespaces, can be managed using the [admin API](admin-api-overview). There are currently two configurable aspects of tenants:
 
diff --git a/site2/website/versioned_docs/version-2.10.0/admin-api-topics.md b/site2/website/versioned_docs/version-2.10.0/admin-api-topics.md
index 917f357a21f..4e20864e4ec 100644
--- a/site2/website/versioned_docs/version-2.10.0/admin-api-topics.md
+++ b/site2/website/versioned_docs/version-2.10.0/admin-api-topics.md
@@ -15,11 +15,11 @@ import TabItem from '@theme/TabItem';
 >
 > This page only shows **some frequently used operations**.
 >
-> - For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more, see [Pulsar admin doc](https://pulsar.apache.org/tools/pulsar-admin/)
+> - For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more, see [Pulsar admin doc](/tools/pulsar-admin/)
 > 
 > - For the latest and complete information about `REST API`, including parameters, responses, samples, and more, see {@inject: rest:REST:/} API doc.
 > 
-> - For the latest and complete information about `Java admin API`, including classes, methods, descriptions, and more, see [Java admin API doc](https://pulsar.apache.org/api/admin/).
+> - For the latest and complete information about `Java admin API`, including classes, methods, descriptions, and more, see [Java admin API doc](/api/admin/).
 
 Pulsar has persistent and non-persistent topics. Persistent topic is a logical endpoint for publishing and consuming messages. The topic name structure for persistent topics is:
 
diff --git a/site2/website/versioned_docs/version-2.10.0/administration-pulsar-manager.md b/site2/website/versioned_docs/version-2.10.0/administration-pulsar-manager.md
index dd7b108ec9c..78b6839e1aa 100644
--- a/site2/website/versioned_docs/version-2.10.0/administration-pulsar-manager.md
+++ b/site2/website/versioned_docs/version-2.10.0/administration-pulsar-manager.md
@@ -87,7 +87,7 @@ jwt.broker.secret.key=file:///path/broker-secret.key
 •	`jwt.broker.public.key`: configure this option if you use the PUBLIC mode.  
 •	`jwt.broker.private.key`: configure this option if you use the PRIVATE mode.  
 •	`jwt.broker.secret.key`: configure this option if you use the SECRET mode.  
-For more information, see [Token Authentication Admin of Pulsar](https://pulsar.apache.org/docs/en/security-token-admin/).
+For more information, see [Token Authentication Admin of Pulsar](security-token-admin).
 
 Docker command to add profile and key files mount.
 
@@ -146,7 +146,7 @@ The request parameter in curl command:
 
 When using binary packages for direct deployment, you can follow these steps.
 
-- Download and unzip the binary package, which is available on the [Pulsar Download](https://pulsar.apache.org/en/download/) page.
+- Download and unzip the binary package, which is available on the [Pulsar Download](download) page.
 
   ```bash
   
diff --git a/site2/website/versioned_docs/version-2.10.0/client-libraries-java.md b/site2/website/versioned_docs/version-2.10.0/client-libraries-java.md
index 4b96d01711b..d50cbadff04 100644
--- a/site2/website/versioned_docs/version-2.10.0/client-libraries-java.md
+++ b/site2/website/versioned_docs/version-2.10.0/client-libraries-java.md
@@ -19,7 +19,7 @@ Javadoc for the Pulsar client is divided into two domains by package as follows.
 
 Package | Description | Maven Artifact
 :-------|:------------|:--------------
-[`org.apache.pulsar.client.api`](/api/client) | [The producer and consumer API](https://pulsar.apache.org/api/client/) | [org.apache.pulsar:pulsar-client:@pulsar:version@](http://search.maven.org/#artifactdetails%7Corg.apache.pulsar%7Cpulsar-client%7C@pulsar:version@%7Cjar)
+[`org.apache.pulsar.client.api`](/api/client) | [The producer and consumer API](/api/client/) | [org.apache.pulsar:pulsar-client:@pulsar:version@](http://search.maven.org/#artifactdetails%7Corg.apache.pulsar%7Cpulsar-client%7C@pulsar:version@%7Cjar)
 [`org.apache.pulsar.client.admin`](/api/admin) | The Java [admin API](admin-api-overview) | [org.apache.pulsar:pulsar-client-admin:@pulsar:version@](http://search.maven.org/#artifactdetails%7Corg.apache.pulsar%7Cpulsar-client-admin%7C@pulsar:version@%7Cjar)
 `org.apache.pulsar.client.all` |Include both `pulsar-client` and `pulsar-client-admin`<br /> Both `pulsar-client` and `pulsar-client-admin` are shaded packages and they shade dependencies independently. Consequently, the applications using both `pulsar-client` and `pulsar-client-admin` have redundant shaded classes. It would be troublesome if you introduce new dependencies but forget to update shading rules. <br /> In this case, you can use `pulsar-client-all`, which shades dependencies  [...]
 
@@ -139,7 +139,7 @@ If you create a client, you can use the `loadConf` configuration. The following
 `operationTimeoutMs`|long|`operationTimeoutMs`|Operation timeout |30000
 `statsIntervalSeconds`|long|Interval between each stats information<br /><br />Stats is activated with positive `statsInterval`<br /><br />Set `statsIntervalSeconds` to 1 second at least. |60
 `numIoThreads`| int| The number of threads used for handling connections to brokers | 1 
-`numListenerThreads`|int|The number of threads used for handling message listeners. The listener thread pool is shared across all the consumers and readers using the "listener" model to get messages. For a given consumer, the listener is always invoked from the same thread to ensure ordering. If you want multiple threads to process a single topic, you need to create a [`shared`](https://pulsar.apache.org/docs/en/next/concepts-messaging/#shared) subscription and multiple consumers for thi [...]
+`numListenerThreads`|int|The number of threads used for handling message listeners. The listener thread pool is shared across all the consumers and readers using the "listener" model to get messages. For a given consumer, the listener is always invoked from the same thread to ensure ordering. If you want multiple threads to process a single topic, you need to create a [`shared`](concepts-messaging.md#shared) subscription and multiple consumers for this subscription. This does not ensure  [...]
 `useTcpNoDelay`| boolean| Whether to use TCP no-delay flag on the connection to disable Nagle algorithm |true
 `useTls` |boolean |Whether to use TLS encryption on the connection| false
  `tlsTrustCertsFilePath` |string |Path to the trusted TLS certificate file|None
@@ -1306,7 +1306,7 @@ TableView<String> tv = client.newTableViewBuilder(Schema.STRING)
 
 ```
 
-You can use the available parameters in the `loadConf` configuration or related [API](https://pulsar.apache.org/api/client/2.10.0-SNAPSHOT/org/apache/pulsar/client/api/TableViewBuilder.html) to customize your TableView.
+You can use the available parameters in the `loadConf` configuration or related [API](/api/client/2.10.0-SNAPSHOT/org/apache/pulsar/client/api/TableViewBuilder.html) to customize your TableView.
 
 | Name | Type| Required? |  <div>Description</div> | Default
 |---|---|---|---|---
diff --git a/site2/website/versioned_docs/version-2.10.0/client-libraries-node.md b/site2/website/versioned_docs/version-2.10.0/client-libraries-node.md
index f3df0ef476c..a098e7c10fa 100644
--- a/site2/website/versioned_docs/version-2.10.0/client-libraries-node.md
+++ b/site2/website/versioned_docs/version-2.10.0/client-libraries-node.md
@@ -477,7 +477,7 @@ The following static methods are available for the message id object:
 
 ## End-to-end encryption
 
-[End-to-end encryption](https://pulsar.apache.org/docs/en/next/cookbooks-encryption/#docsNav) allows applications to encrypt messages at producers and decrypt at consumers.
+[End-to-end encryption](cookbooks-encryption.md#docsNav) allows applications to encrypt messages at producers and decrypt at consumers.
 
 ### Configuration
 
diff --git a/site2/website/versioned_docs/version-2.10.0/client-libraries-python.md b/site2/website/versioned_docs/version-2.10.0/client-libraries-python.md
index d9c62765bdc..bd39c326608 100644
--- a/site2/website/versioned_docs/version-2.10.0/client-libraries-python.md
+++ b/site2/website/versioned_docs/version-2.10.0/client-libraries-python.md
@@ -525,7 +525,7 @@ consumer = client.subscribe(
 
 ## End-to-end encryption
 
-[End-to-end encryption](https://pulsar.apache.org/docs/en/next/cookbooks-encryption/#docsNav) allows applications to encrypt messages at producers and decrypt messages at consumers.
+[End-to-end encryption](cookbooks-encryption.md#docsNav) allows applications to encrypt messages at producers and decrypt messages at consumers.
 
 ### Configuration
 
diff --git a/site2/website/versioned_docs/version-2.10.0/client-libraries-websocket.md b/site2/website/versioned_docs/version-2.10.0/client-libraries-websocket.md
index 894ac101edf..51b9da4dfd7 100644
--- a/site2/website/versioned_docs/version-2.10.0/client-libraries-websocket.md
+++ b/site2/website/versioned_docs/version-2.10.0/client-libraries-websocket.md
@@ -108,11 +108,11 @@ Key | Type | Required? | Explanation
 `batchingMaxMessages` | int | no | Maximum number of messages permitted in a batch (default: 1000)
 `maxPendingMessages` | int | no | Set the max size of the internal-queue holding the messages (default: 1000)
 `batchingMaxPublishDelay` | long | no | Time period within which the messages will be batched (default: 10ms)
-`messageRoutingMode` | string | no | Message [routing mode](https://pulsar.apache.org/api/client/index.html?org/apache/pulsar/client/api/ProducerConfiguration.MessageRoutingMode.html) for the partitioned producer: `SinglePartition`, `RoundRobinPartition`
-`compressionType` | string | no | Compression [type](https://pulsar.apache.org/api/client/index.html?org/apache/pulsar/client/api/CompressionType.html): `LZ4`, `ZLIB`
+`messageRoutingMode` | string | no | Message [routing mode](/api/client/index.html?org/apache/pulsar/client/api/ProducerConfiguration.MessageRoutingMode.html) for the partitioned producer: `SinglePartition`, `RoundRobinPartition`
+`compressionType` | string | no | Compression [type](/api/client/index.html?org/apache/pulsar/client/api/CompressionType.html): `LZ4`, `ZLIB`
 `producerName` | string | no | Specify the name for the producer. Pulsar will enforce only one producer with same name can be publishing on a topic
 `initialSequenceId` | long | no | Set the baseline for the sequence ids for messages published by the producer.
-`hashingScheme` | string | no | [Hashing function](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.HashingScheme.html) to use when publishing on a partitioned topic: `JavaStringHash`, `Murmur3_32Hash`
+`hashingScheme` | string | no | [Hashing function](/api/client/org/apache/pulsar/client/api/ProducerConfiguration.HashingScheme.html) to use when publishing on a partitioned topic: `JavaStringHash`, `Murmur3_32Hash`
 `token` | string | no | Authentication token, this is used for the browser javascript client
 
 
@@ -183,12 +183,12 @@ ws://broker-service-url:8080/ws/v2/consumer/persistent/:tenant/:namespace/:topic
 Key | Type | Required? | Explanation
 :---|:-----|:----------|:-----------
 `ackTimeoutMillis` | long | no | Set the timeout for unacked messages (default: 0)
-`subscriptionType` | string | no | [Subscription type](https://pulsar.apache.org/api/client/index.html?org/apache/pulsar/client/api/SubscriptionType.html): `Exclusive`, `Failover`, `Shared`, `Key_Shared`
+`subscriptionType` | string | no | [Subscription type](/api/client/index.html?org/apache/pulsar/client/api/SubscriptionType.html): `Exclusive`, `Failover`, `Shared`, `Key_Shared`
 `receiverQueueSize` | int | no | Size of the consumer receive queue (default: 1000)
 `consumerName` | string | no | Consumer name
-`priorityLevel` | int | no | Define a [priority](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-) for the consumer
-`maxRedeliverCount` | int | no | Define a [maxRedeliverCount](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html#deadLetterPolicy-org.apache.pulsar.client.api.DeadLetterPolicy-) for the consumer (default: 0). Activates [Dead Letter Topic](https://github.com/apache/pulsar/wiki/PIP-22%3A-Pulsar-Dead-Letter-Topic) feature.
-`deadLetterTopic` | string | no | Define a [deadLetterTopic](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html#deadLetterPolicy-org.apache.pulsar.client.api.DeadLetterPolicy-) for the consumer (default: {topic}-{subscription}-DLQ). Activates [Dead Letter Topic](https://github.com/apache/pulsar/wiki/PIP-22%3A-Pulsar-Dead-Letter-Topic) feature.
+`priorityLevel` | int | no | Define a [priority](/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-) for the consumer
+`maxRedeliverCount` | int | no | Define a [maxRedeliverCount](/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html#deadLetterPolicy-org.apache.pulsar.client.api.DeadLetterPolicy-) for the consumer (default: 0). Activates [Dead Letter Topic](https://github.com/apache/pulsar/wiki/PIP-22%3A-Pulsar-Dead-Letter-Topic) feature.
+`deadLetterTopic` | string | no | Define a [deadLetterTopic](/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html#deadLetterPolicy-org.apache.pulsar.client.api.DeadLetterPolicy-) for the consumer (default: {topic}-{subscription}-DLQ). Activates [Dead Letter Topic](https://github.com/apache/pulsar/wiki/PIP-22%3A-Pulsar-Dead-Letter-Topic) feature.
 `pullMode` | boolean | no | Enable pull mode (default: false). See "Flow Control" below.
 `negativeAckRedeliveryDelay` | int | no | When a message is negatively acknowledged, the delay time before the message is redelivered (in milliseconds). The default value is 60000.
 `token` | string | no | Authentication token, this is used for the browser javascript client
diff --git a/site2/website/versioned_docs/version-2.10.0/client-libraries.md b/site2/website/versioned_docs/version-2.10.0/client-libraries.md
index f45bc6d3273..4899a1ace78 100644
--- a/site2/website/versioned_docs/version-2.10.0/client-libraries.md
+++ b/site2/website/versioned_docs/version-2.10.0/client-libraries.md
@@ -9,17 +9,17 @@ Pulsar supports the following client libraries:
 
 |Language|Documentation|Release note|Code repo
 |---|---|---|---
-Java |- [User doc](client-libraries-java) <br /><br />- [API doc](https://pulsar.apache.org/api/client/)|[Here](https://pulsar.apache.org/release-notes/)|[Here](https://github.com/apache/pulsar/tree/master/pulsar-client) 
-C++ | - [User doc](client-libraries-cpp) <br /><br />- [API doc](https://pulsar.apache.org/api/cpp/)|[Here](https://pulsar.apache.org/release-notes/)|[Here](https://github.com/apache/pulsar/tree/master/pulsar-client-cpp) 
-Python | - [User doc](client-libraries-python) <br /><br />- [API doc](https://pulsar.apache.org/api/python/)|[Here](https://pulsar.apache.org/release-notes/)|[Here](https://github.com/apache/pulsar/tree/master/pulsar-client-cpp/python) 
-WebSocket| [User doc](client-libraries-websocket) | [Here](https://pulsar.apache.org/release-notes/)|[Here](https://github.com/apache/pulsar/tree/master/pulsar-websocket) 
+Java |- [User doc](client-libraries-java) <br /><br />- [API doc](/api/client/)|[Here](/release-notes/)|[Here](https://github.com/apache/pulsar/tree/master/pulsar-client) 
+C++ | - [User doc](client-libraries-cpp) <br /><br />- [API doc](/api/cpp/)|[Here](/release-notes/)|[Here](https://github.com/apache/pulsar/tree/master/pulsar-client-cpp) 
+Python | - [User doc](client-libraries-python) <br /><br />- [API doc](/api/python/)|[Here](/release-notes/)|[Here](https://github.com/apache/pulsar/tree/master/pulsar-client-cpp/python) 
+WebSocket| [User doc](client-libraries-websocket) | [Here](/release-notes/)|[Here](https://github.com/apache/pulsar/tree/master/pulsar-websocket) 
 Go client|[User doc](client-libraries-go.md)|[Here](https://github.com/apache/pulsar-client-go/blob/master/CHANGELOG) |[Here](https://github.com/apache/pulsar-client-go) 
 Node.js|[User doc](client-libraries-node)|[Here](https://github.com/apache/pulsar-client-node/releases) |[Here](https://github.com/apache/pulsar-client-node) 
 C# |[User doc](client-libraries-dotnet.md)| [Here](https://github.com/apache/pulsar-dotpulsar/blob/master/CHANGELOG)|[Here](https://github.com/apache/pulsar-dotpulsar) 
 
 :::note
 
-- The code repos of **Java, C++, Python,** and **WebSocket** clients are hosted in the [Pulsar main repo](https://github.com/apache/pulsar) and these clients are released with Pulsar, so their release notes are parts of [Pulsar release note](https://pulsar.apache.org/release-notes/).
+- The code repos of **Java, C++, Python,** and **WebSocket** clients are hosted in the [Pulsar main repo](https://github.com/apache/pulsar) and these clients are released with Pulsar, so their release notes are parts of [Pulsar release note](/release-notes/).
 - The code repos of **Go, Node.js,** and **C#** clients are hosted outside of the [Pulsar main repo](https://github.com/apache/pulsar) and these clients are not released with Pulsar, so they have independent release notes.
 
 :::
diff --git a/site2/website/versioned_docs/version-2.10.0/concepts-messaging.md b/site2/website/versioned_docs/version-2.10.0/concepts-messaging.md
index 51245926aeb..4666ae9f4c5 100644
--- a/site2/website/versioned_docs/version-2.10.0/concepts-messaging.md
+++ b/site2/website/versioned_docs/version-2.10.0/concepts-messaging.md
@@ -151,7 +151,7 @@ To enable message chunking, set the `chunkingEnabled` parameter to `true` when c
 
 :::note
 
-If the consumer fails to receive all chunks of a message within a specified time period, it expires incomplete chunks. The default value is 1 minute. For more information about the `expireTimeOfIncompleteChunkedMessage` parameter, refer to [org.apache.pulsar.client.api](https://pulsar.apache.org/api/client/).
+If the consumer fails to receive all chunks of a message within a specified time period, it expires incomplete chunks. The default value is 1 minute. For more information about the `expireTimeOfIncompleteChunkedMessage` parameter, refer to [org.apache.pulsar.client.api](/api/client/).
 
 :::
 
@@ -817,7 +817,7 @@ In non-persistent topics, brokers immediately deliver messages to all connected
 
 > With non-persistent topics, message data lives only in memory. If a message broker fails or message data can otherwise not be retrieved from memory, your message data may be lost. Use non-persistent topics only if you're *certain* that your use case requires it and can sustain it.
 
-By default, non-persistent topics are enabled on Pulsar brokers. You can disable them in the broker's [configuration](reference-configuration.md#broker-enableNonPersistentTopics). You can manage non-persistent topics using the `pulsar-admin topics` command. For more information, see [`pulsar-admin`](https://pulsar.apache.org/tools/pulsar-admin/).
+By default, non-persistent topics are enabled on Pulsar brokers. You can disable them in the broker's [configuration](reference-configuration.md#broker-enableNonPersistentTopics). You can manage non-persistent topics using the `pulsar-admin topics` command. For more information, see [`pulsar-admin`](/tools/pulsar-admin/).
 
 ### Performance
 
diff --git a/site2/website/versioned_docs/version-2.10.0/concepts-tiered-storage.md b/site2/website/versioned_docs/version-2.10.0/concepts-tiered-storage.md
index 0b45b0a2ed5..f91d4fea48d 100644
--- a/site2/website/versioned_docs/version-2.10.0/concepts-tiered-storage.md
+++ b/site2/website/versioned_docs/version-2.10.0/concepts-tiered-storage.md
@@ -13,6 +13,6 @@ One way to alleviate this cost is to use Tiered Storage. With tiered storage, ol
 
 > Data written to BookKeeper is replicated to 3 physical machines by default. However, once a segment is sealed in BookKeeper it becomes immutable and can be copied to long term storage. Long term storage can achieve cost savings by using mechanisms such as [Reed-Solomon error correction](https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction) to require fewer physical copies of data.
 
-Pulsar currently supports S3, Google Cloud Storage (GCS), and filesystem for [long term store](https://pulsar.apache.org/docs/en/cookbooks-tiered-storage/). Offloading to long term storage triggered via a Rest API or command line interface. The user passes in the amount of topic data they wish to retain on BookKeeper, and the broker will copy the backlog data to long term storage. The original data will then be deleted from BookKeeper after a configured delay (4 hours by default).
+Pulsar currently supports S3, Google Cloud Storage (GCS), and filesystem for [long term store](cookbooks-tiered-storage). Offloading to long term storage triggered via a Rest API or command line interface. The user passes in the amount of topic data they wish to retain on BookKeeper, and the broker will copy the backlog data to long term storage. The original data will then be deleted from BookKeeper after a configured delay (4 hours by default).
 
 > For a guide for setting up tiered storage, see the [Tiered storage cookbook](cookbooks-tiered-storage).
diff --git a/site2/website/versioned_docs/version-2.10.0/deploy-bare-metal-multi-cluster.md b/site2/website/versioned_docs/version-2.10.0/deploy-bare-metal-multi-cluster.md
index 045f8bf7426..1d03c415189 100644
--- a/site2/website/versioned_docs/version-2.10.0/deploy-bare-metal-multi-cluster.md
+++ b/site2/website/versioned_docs/version-2.10.0/deploy-bare-metal-multi-cluster.md
@@ -65,7 +65,7 @@ The Pulsar binary package initially contains the following directories:
 
 Directory | Contains
 :---------|:--------
-`bin` | [Command-line tools](reference-cli-tools) of Pulsar, such as [`pulsar`](reference-cli-tools.md#pulsar) and [`pulsar-admin`](https://pulsar.apache.org/tools/pulsar-admin/)
+`bin` | [Command-line tools](reference-cli-tools) of Pulsar, such as [`pulsar`](reference-cli-tools.md#pulsar) and [`pulsar-admin`](/tools/pulsar-admin/)
 `conf` | Configuration files for Pulsar, including for [broker configuration](reference-configuration.md#broker), [ZooKeeper configuration](reference-configuration.md#zookeeper), and more
 `examples` | A Java JAR file containing example [Pulsar Functions](functions-overview)
 `lib` | The [JAR](https://en.wikipedia.org/wiki/JAR_(file_format)) files that Pulsar uses 
diff --git a/site2/website/versioned_docs/version-2.10.0/deploy-bare-metal.md b/site2/website/versioned_docs/version-2.10.0/deploy-bare-metal.md
index c4ee20b70a3..3ea98d4c5d6 100644
--- a/site2/website/versioned_docs/version-2.10.0/deploy-bare-metal.md
+++ b/site2/website/versioned_docs/version-2.10.0/deploy-bare-metal.md
@@ -123,13 +123,13 @@ The extracted directory contains the following subdirectories:
 
 Directory | Contains
 :---------|:--------
-`bin` |[command-line tools](reference-cli-tools) of Pulsar, such as [`pulsar`](reference-cli-tools.md#pulsar) and [`pulsar-admin`](https://pulsar.apache.org/tools/pulsar-admin/)
+`bin` |[command-line tools](reference-cli-tools) of Pulsar, such as [`pulsar`](reference-cli-tools.md#pulsar) and [`pulsar-admin`](/tools/pulsar-admin/)
 `conf` | Configuration files for Pulsar, including for [broker configuration](reference-configuration.md#broker), [ZooKeeper configuration](reference-configuration.md#zookeeper), and more
 `data` | The data storage directory that ZooKeeper and BookKeeper use
 `lib` | The [JAR](https://en.wikipedia.org/wiki/JAR_(file_format)) files that Pulsar uses
 `logs` | Logs that the installation creates
 
-## [Install Builtin Connectors (optional)]( https://pulsar.apache.org/docs/en/next/standalone/#install-builtin-connectors-optional)
+## [Install Builtin Connectors (optional)](standalone.md#install-builtin-connectors-optional)
 
 > Since Pulsar release `2.1.0-incubating`, Pulsar provides a separate binary distribution, containing all the `builtin` connectors.
 > To enable the `builtin` connectors (optional), you can follow the instructions below.
@@ -164,7 +164,7 @@ pulsar-io-aerospike-@pulsar:version@.nar
 
 ```
 
-## [Install Tiered Storage Offloaders (optional)](https://pulsar.apache.org/docs/en/next/standalone/#install-tiered-storage-offloaders-optional)
+## [Install Tiered Storage Offloaders (optional)](standalone.md#install-tiered-storage-offloaders-optional)
 
 > Since Pulsar release `2.2.0`, Pulsar releases a separate binary distribution, containing the tiered storage offloaders.
 > If you want to enable tiered storage feature, you can follow the instructions as below; otherwise you can
diff --git a/site2/website/versioned_docs/version-2.10.0/deploy-monitoring.md b/site2/website/versioned_docs/version-2.10.0/deploy-monitoring.md
index 6f3d0ad1369..07b59b59a75 100644
--- a/site2/website/versioned_docs/version-2.10.0/deploy-monitoring.md
+++ b/site2/website/versioned_docs/version-2.10.0/deploy-monitoring.md
@@ -101,7 +101,7 @@ pulsar-admin functions-worker function-stats
 
 ```
 
-The aggregated functions and connectors metrics can be exposed in Prometheus formats as below. You can get [`FUNCTIONS_WORKER_ADDRESS`](http://pulsar.apache.org/docs/en/next/functions-worker/) and `WORKER_PORT` from the `functions_worker.yml` file.
+The aggregated functions and connectors metrics can be exposed in Prometheus formats as below. You can get [`FUNCTIONS_WORKER_ADDRESS`](functions-worker) and `WORKER_PORT` from the `functions_worker.yml` file.
 
 ```
 
@@ -131,7 +131,7 @@ When you deploy Pulsar on Kubernetes with the Pulsar Helm Chart, a `pulsar-grafa
 
 The following are some Grafana dashboards examples:
 
-- [pulsar-grafana](http://pulsar.apache.org/docs/en/deploy-monitoring/#grafana): a Grafana dashboard that displays metrics collected in Prometheus for Pulsar clusters running on Kubernetes.
+- [pulsar-grafana](deploy-monitoring.md#grafana): a Grafana dashboard that displays metrics collected in Prometheus for Pulsar clusters running on Kubernetes.
 - [apache-pulsar-grafana-dashboard](https://github.com/streamnative/apache-pulsar-grafana-dashboard): a collection of Grafana dashboard templates for different Pulsar components running on both Kubernetes and on-premise machines.
 
 ## Alerting rules
diff --git a/site2/website/versioned_docs/version-2.10.0/functions-deploy.md b/site2/website/versioned_docs/version-2.10.0/functions-deploy.md
index 2deb2e8edb3..482185c5840 100644
--- a/site2/website/versioned_docs/version-2.10.0/functions-deploy.md
+++ b/site2/website/versioned_docs/version-2.10.0/functions-deploy.md
@@ -14,7 +14,7 @@ To deploy and manage Pulsar Functions, you need to have a Pulsar cluster running
 
 If you run a non-[standalone](reference-terminology.md#standalone) cluster, you need to obtain the service URL for the cluster. How you obtain the service URL depends on how you deploy your Pulsar cluster.
 
-If you want to deploy and trigger Python user-defined functions, you need to install [the pulsar python client](http://pulsar.apache.org/docs/en/client-libraries-python/) on all the machines running [functions workers](functions-worker).
+If you want to deploy and trigger Python user-defined functions, you need to install [the pulsar python client](client-libraries-python) on all the machines running [functions workers](functions-worker).
 
 ## Command-line interface
 
diff --git a/site2/website/versioned_docs/version-2.10.0/functions-worker.md b/site2/website/versioned_docs/version-2.10.0/functions-worker.md
index 3bbb9b8e476..5a97d61340f 100644
--- a/site2/website/versioned_docs/version-2.10.0/functions-worker.md
+++ b/site2/website/versioned_docs/version-2.10.0/functions-worker.md
@@ -337,8 +337,7 @@ Hence you need to configure your `pulsar-admin` to use the right service URL acc
 
 In order to address this inconvenience, you can start a proxy cluster for routing the admin rest requests accordingly. Hence you will have one central entry point for your admin service.
 
-If you already have a proxy cluster, continue reading. If you haven't setup a proxy cluster before, you can follow the [instructions](http://pulsar.apache.org/docs/en/administration-proxy/) to
-start proxies.    
+If you already have a proxy cluster, continue reading. If you haven't setup a proxy cluster before, you can follow the [instructions](administration-proxy) to start proxies.    
 
 ![assets/functions-worker-separated.png](/assets/functions-worker-separated-proxy.png)
 
diff --git a/site2/website/versioned_docs/version-2.10.0/getting-started-helm.md b/site2/website/versioned_docs/version-2.10.0/getting-started-helm.md
index 7bc9fa558fc..41303681af3 100644
--- a/site2/website/versioned_docs/version-2.10.0/getting-started-helm.md
+++ b/site2/website/versioned_docs/version-2.10.0/getting-started-helm.md
@@ -314,7 +314,7 @@ brokerServiceUrl=pulsar://127.0.0.1:61854/
 
 Then you can proceed with the following steps:
 
-1. Download the Apache Pulsar tarball from the [downloads page](https://pulsar.apache.org/en/download/).
+1. Download the Apache Pulsar tarball from the [downloads page](/download/).
 
 2. Decompress the tarball based on your download file.
 
diff --git a/site2/website/versioned_docs/version-2.10.0/getting-started-standalone.md b/site2/website/versioned_docs/version-2.10.0/getting-started-standalone.md
index fd094404e9f..d81e2551920 100644
--- a/site2/website/versioned_docs/version-2.10.0/getting-started-standalone.md
+++ b/site2/website/versioned_docs/version-2.10.0/getting-started-standalone.md
@@ -121,7 +121,7 @@ The Pulsar binary package initially contains the following directories:
 
 Directory | Contains
 :---------|:--------
-`bin` | Pulsar's command-line tools, such as [`pulsar`](reference-cli-tools.md#pulsar) and [`pulsar-admin`](https://pulsar.apache.org/tools/pulsar-admin/).
+`bin` | Pulsar's command-line tools, such as [`pulsar`](reference-cli-tools.md#pulsar) and [`pulsar-admin`](/tools/pulsar-admin/).
 `conf` | Configuration files for Pulsar, including [broker configuration](reference-configuration.md#broker) and more.<br />**Note:** Pulsar standalone uses RocksDB as the local metadata store and its configuration file path [`metadataStoreConfigPath`](reference-configuration) is configurable in the `standalone.conf` file. For more information about the configurations of RocksDB, see [here](https://github.com/facebook/rocksdb/blob/main/examples/rocksdb_option_file_example.ini) and relate [...]
 `examples` | A Java JAR file containing [Pulsar Functions](functions-overview) example.
 `instances` | Artifacts created for [Pulsar Functions](functions-overview).
@@ -261,7 +261,7 @@ If you have started Pulsar successfully, you will see `INFO`-level log messages
 
 :::
 
-You can also run the service as a background process using the `bin/pulsar-daemon start standalone` command. For more information, see [pulsar-daemon](https://pulsar.apache.org/docs/en/reference-cli-tools/#pulsar-daemon).
+You can also run the service as a background process using the `bin/pulsar-daemon start standalone` command. For more information, see [pulsar-daemon](reference-cli-tools.md#pulsar-daemon).
 > 
 > * By default, there is no encryption, authentication, or authorization configured. Apache Pulsar can be accessed from remote server without any authorization. Please do check [Security Overview](security-overview) document to secure your deployment.
 >
@@ -320,7 +320,7 @@ Press `Ctrl+C` to stop a local standalone Pulsar.
 :::tip
 
 If the service runs as a background process using the `bin/pulsar-daemon start standalone` command, then use the `bin/pulsar-daemon stop standalone`  command to stop the service.
-For more information, see [pulsar-daemon](https://pulsar.apache.org/docs/en/reference-cli-tools/#pulsar-daemon).
+For more information, see [pulsar-daemon](reference-cli-tools.md#pulsar-daemon).
 
 :::
 
diff --git a/site2/website/versioned_docs/version-2.10.0/io-cli.md b/site2/website/versioned_docs/version-2.10.0/io-cli.md
index e4246fbeeb3..87974d03803 100644
--- a/site2/website/versioned_docs/version-2.10.0/io-cli.md
+++ b/site2/website/versioned_docs/version-2.10.0/io-cli.md
@@ -9,7 +9,7 @@ original_id: io-cli
 
 **Important**
 
-This page is deprecated and not updated anymore. For the latest and complete information about `Pulsar-admin`, including commands, flags, descriptions, and more, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+This page is deprecated and not updated anymore. For the latest and complete information about `Pulsar-admin`, including commands, flags, descriptions, and more, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 :::
 
diff --git a/site2/website/versioned_docs/version-2.10.0/io-debug.md b/site2/website/versioned_docs/version-2.10.0/io-debug.md
index aee5d371228..890d5f692f7 100644
--- a/site2/website/versioned_docs/version-2.10.0/io-debug.md
+++ b/site2/website/versioned_docs/version-2.10.0/io-debug.md
@@ -380,7 +380,7 @@ Use the `topics stats` command to get the stats for a topic and its connected pr
 
 :::tip
 
-For more information about the `topic stats` command, see [`topic stats`](http://pulsar.apache.org/docs/en/pulsar-admin/#stats-1).
+For more information about the `topic stats` command, see [`topic stats`](/tools/pulsar-admin/).
 
 :::
 
diff --git a/site2/website/versioned_docs/version-2.10.0/io-kafka-source.md b/site2/website/versioned_docs/version-2.10.0/io-kafka-source.md
index b9a6ab07ad8..c160112cb08 100644
--- a/site2/website/versioned_docs/version-2.10.0/io-kafka-source.md
+++ b/site2/website/versioned_docs/version-2.10.0/io-kafka-source.md
@@ -213,7 +213,7 @@ This example explains how to create a Kafka source connector in an on-premises c
    
    ```
 
-2. Reload all [built-in connectors](https://pulsar.apache.org/docs/en/next/io-connectors/).
+2. Reload all [built-in connectors](io-connectors).
 
    ```
    
@@ -229,7 +229,7 @@ This example explains how to create a Kafka source connector in an on-premises c
    
    ```
 
-4. Create a Kafka source connector on a Pulsar cluster using the [`pulsar-admin sources create`](http://pulsar.apache.org/tools/pulsar-admin/2.10.0-SNAPSHOT/#-em-create-em--14) command.
+4. Create a Kafka source connector on a Pulsar cluster using the [`pulsar-admin sources create`](/tools/pulsar-admin/) command.
 
    ```
    
diff --git a/site2/website/versioned_docs/version-2.10.0/io-overview.md b/site2/website/versioned_docs/version-2.10.0/io-overview.md
index 63f01dafd8d..0554e927e4f 100644
--- a/site2/website/versioned_docs/version-2.10.0/io-overview.md
+++ b/site2/website/versioned_docs/version-2.10.0/io-overview.md
@@ -158,6 +158,6 @@ For more information about the options of `pulsar-admin sinks update`, see [here
 
 ## Work with connector
 
-You can manage Pulsar connectors (for example, create, update, start, stop, restart, reload, delete and perform other operations on connectors) via the `Connector Admin CLI` with sources and sinks subcommands. For the latest and complete information, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+You can manage Pulsar connectors (for example, create, update, start, stop, restart, reload, delete and perform other operations on connectors) via the `Connector Admin CLI` with sources and sinks subcommands. For the latest and complete information, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 Connectors (sources and sinks) and Functions are components of instances, and they all run on Functions workers. When managing a source, sink or function via the `Connector Admin CLI` or [Functions Admin CLI](functions-cli), an instance is started on a worker. For more information, see [Functions worker](functions-worker.md#run-functions-worker-separately).
diff --git a/site2/website/versioned_docs/version-2.10.0/io-quickstart.md b/site2/website/versioned_docs/version-2.10.0/io-quickstart.md
index 7b100c25167..b976296bccb 100644
--- a/site2/website/versioned_docs/version-2.10.0/io-quickstart.md
+++ b/site2/website/versioned_docs/version-2.10.0/io-quickstart.md
@@ -240,7 +240,7 @@ For more information, see [Cassandra sink connector](io-cassandra-sink).
 
 ### Create a Cassandra sink
 
-You can use the [Connector Admin CLI](https://pulsar.apache.org/tools/pulsar-admin/) 
+You can use the [Connector Admin CLI](/tools/pulsar-admin/) 
 to create a sink connector and perform other operations on them.
 
 Run the following command to create a Cassandra sink connector with sink type _cassandra_ and the config file _examples/cassandra-sink.yml_ created previously.
@@ -267,7 +267,7 @@ as a Pulsar Function and writes the messages produced in the topic _test_cassand
 
 ### Inspect a Cassandra sink
 
-You can use the [Connector Admin CLI](https://pulsar.apache.org/tools/pulsar-admin/) 
+You can use the [Connector Admin CLI](/tools/pulsar-admin/) 
 to monitor a connector and perform other operations on it.
 
 * Get the information of a Cassandra sink. 
@@ -431,7 +431,7 @@ to monitor a connector and perform other operations on it.
 
 ### Delete a Cassandra Sink
 
-You can use the [Connector Admin CLI](https://pulsar.apache.org/tools/pulsar-admin/) 
+You can use the [Connector Admin CLI](/tools/pulsar-admin/) 
 to delete a connector and perform other operations on it.
 
 ```bash
@@ -615,7 +615,7 @@ In this section, you need to configure a JDBC sink connector.
 
 ### Create a JDBC sink
 
-You can use the [Connector Admin CLI](https://pulsar.apache.org/tools/pulsar-admin/) 
+You can use the [Connector Admin CLI](/tools/pulsar-admin/) 
 to create a sink connector and perform other operations on it.
 
 This example creates a sink connector and specifies the desired information.
@@ -647,7 +647,7 @@ This sink connector runs as a Pulsar Function and writes the messages produced i
 
 :::tip
 
-For more information about `pulsar-admin sinks create options`, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For more information about `pulsar-admin sinks create options`, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 :::
 
@@ -661,7 +661,7 @@ Created successfully
 
 ### Inspect a JDBC sink
 
-You can use the [Connector Admin CLI](https://pulsar.apache.org/tools/pulsar-admin/) 
+You can use the [Connector Admin CLI](/tools/pulsar-admin/) 
 to monitor a connector and perform other operations on it.
 
 * List all running JDBC sink(s).
@@ -676,7 +676,7 @@ to monitor a connector and perform other operations on it.
 
   :::tip
 
-  For more information about `pulsar-admin sinks list options`, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+  For more information about `pulsar-admin sinks list options`, see [Pulsar admin docs](/tools/pulsar-admin/).
 
   :::
 
@@ -703,7 +703,7 @@ to monitor a connector and perform other operations on it.
 
   :::tip
 
-  For more information about `pulsar-admin sinks get options`, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+  For more information about `pulsar-admin sinks get options`, see [Pulsar admin docs](/tools/pulsar-admin/).
 
   :::
 
@@ -748,7 +748,7 @@ to monitor a connector and perform other operations on it.
 
   :::tip
 
-  For more information about `pulsar-admin sinks status options`, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+  For more information about `pulsar-admin sinks status options`, see [Pulsar admin docs](/tools/pulsar-admin/).
 
   :::
 
@@ -781,7 +781,7 @@ to monitor a connector and perform other operations on it.
 
 ### Stop a JDBC sink
 
-You can use the [Connector Admin CLI](https://pulsar.apache.org/tools/pulsar-admin/) 
+You can use the [Connector Admin CLI](/tools/pulsar-admin/) 
 to stop a connector and perform other operations on it.
 
 ```bash
@@ -795,7 +795,7 @@ $ bin/pulsar-admin sinks stop \
 
 :::tip
 
-For more information about `pulsar-admin sinks stop options`, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For more information about `pulsar-admin sinks stop options`, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 :::
 
@@ -809,7 +809,7 @@ Stopped successfully
 
 ### Restart a JDBC sink
 
-You can use the [Connector Admin CLI](https://pulsar.apache.org/tools/pulsar-admin/) 
+You can use the [Connector Admin CLI](/tools/pulsar-admin/) 
 to restart a connector and perform other operations on it.
 
 ```bash
@@ -823,7 +823,7 @@ $ bin/pulsar-admin sinks restart \
 
 :::tip
 
-For more information about `pulsar-admin sinks restart options`, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For more information about `pulsar-admin sinks restart options`, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 :::
 
@@ -839,13 +839,13 @@ Started successfully
 
 * Optionally, you can run a standalone sink connector using `pulsar-admin sinks localrun options`. 
 Note that `pulsar-admin sinks localrun options` **runs a sink connector locally**, while `pulsar-admin sinks start options` **starts a sink connector in a cluster**.
-* For more information about `pulsar-admin sinks localrun options`, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+* For more information about `pulsar-admin sinks localrun options`, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 :::
 
 ### Update a JDBC sink
 
-You can use the [Connector Admin CLI](https://pulsar.apache.org/tools/pulsar-admin/) 
+You can use the [Connector Admin CLI](/tools/pulsar-admin/) 
 to update a connector and perform other operations on it.
 
 This example updates the parallelism of the _pulsar-postgres-jdbc-sink_ sink connector to 2.
@@ -860,7 +860,7 @@ $ bin/pulsar-admin sinks update \
 
 :::tip
 
-For more information about `pulsar-admin sinks update options`, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For more information about `pulsar-admin sinks update options`, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 :::
 
@@ -913,7 +913,7 @@ The result shows that the parallelism is 2.
 
 ### Delete a JDBC sink
 
-You can use the [Connector Admin CLI](https://pulsar.apache.org/tools/pulsar-admin/) 
+You can use the [Connector Admin CLI](/tools/pulsar-admin/) 
 to delete a connector and perform other operations on it.
 
 This example deletes the _pulsar-postgres-jdbc-sink_ sink connector.
@@ -929,7 +929,7 @@ $ bin/pulsar-admin sinks delete \
 
 :::tip
 
-For more information about `pulsar-admin sinks delete options`, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For more information about `pulsar-admin sinks delete options`, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 :::
 
diff --git a/site2/website/versioned_docs/version-2.10.0/io-use.md b/site2/website/versioned_docs/version-2.10.0/io-use.md
index dc680089175..8b0c1676607 100644
--- a/site2/website/versioned_docs/version-2.10.0/io-use.md
+++ b/site2/website/versioned_docs/version-2.10.0/io-use.md
@@ -137,7 +137,7 @@ $ pulsar-admin sources reload
 
 ```
 
-For the latest and complete information, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For the latest and complete information, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 #### Sink
 
@@ -149,7 +149,7 @@ $ pulsar-admin sinks reload
 
 ```
 
-For the latest and complete information, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For the latest and complete information, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 ### `available`
 
@@ -208,7 +208,7 @@ $ pulsar-admin sources create options
 
 ```
 
-For the latest and complete information, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For the latest and complete information, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 </TabItem>
 <TabItem value="REST API">
@@ -240,7 +240,7 @@ Send a `POST` request to this endpoint: {@inject: endpoint|POST|/admin/v3/source
   |---|---
   | `PulsarAdminException` | Unexpected error
 
-  For more information, see [`createSource`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#createSource-SourceConfig-java.lang.String-).
+  For more information, see [`createSource`](/api/admin/org/apache/pulsar/client/admin/Source.html#createSource-SourceConfig-java.lang.String-).
 
 * Create a source connector using a **remote file** with a URL from which fun-pkg can be downloaded. 
 
@@ -273,7 +273,7 @@ Send a `POST` request to this endpoint: {@inject: endpoint|POST|/admin/v3/source
   |---|---
   | `PulsarAdminException` | Unexpected error
   
-  For more information, see [`createSourceWithUrl`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#createSourceWithUrl-SourceConfig-java.lang.String-).
+  For more information, see [`createSourceWithUrl`](/api/admin/org/apache/pulsar/client/admin/Source.html#createSourceWithUrl-SourceConfig-java.lang.String-).
 
 </TabItem>
 
@@ -299,7 +299,7 @@ $ pulsar-admin sinks create options
 
 ```
 
-For the latest and complete information, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For the latest and complete information, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 </TabItem>
 <TabItem value="REST API">
@@ -331,7 +331,7 @@ Send a `POST` request to this endpoint: {@inject: endpoint|POST|/admin/v3/sinks/
   |---|---
   | `PulsarAdminException` | Unexpected error
 
-  For more information, see [`createSink`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#createSink-SinkConfig-java.lang.String-).
+  For more information, see [`createSink`](/api/admin/org/apache/pulsar/client/admin/Sink.html#createSink-SinkConfig-java.lang.String-).
 
 * Create a sink connector using a **remote file** with a URL from which fun-pkg can be downloaded. 
 
@@ -364,7 +364,7 @@ Send a `POST` request to this endpoint: {@inject: endpoint|POST|/admin/v3/sinks/
   |---|---
   | `PulsarAdminException` | Unexpected error
   
-  For more information, see [`createSinkWithUrl`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#createSinkWithUrl-SinkConfig-java.lang.String-).
+  For more information, see [`createSinkWithUrl`](/api/admin/org/apache/pulsar/client/admin/Sink.html#createSinkWithUrl-SinkConfig-java.lang.String-).
 
 </TabItem>
 
@@ -394,7 +394,7 @@ $ pulsar-admin sources start options
 
 ```
 
-For the latest and complete information, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For the latest and complete information, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 </TabItem>
 <TabItem value="REST API">
@@ -431,7 +431,7 @@ $ pulsar-admin sinks start options
 
 ```
 
-For the latest and complete information, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For the latest and complete information, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 </TabItem>
 <TabItem value="REST API">
@@ -472,7 +472,7 @@ $ pulsar-admin sources localrun options
 
 ```
 
-For the latest and complete information, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For the latest and complete information, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 </TabItem>
 
@@ -498,7 +498,7 @@ $ pulsar-admin sinks localrun options
 
 ```
 
-For the latest and complete information, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For the latest and complete information, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 </TabItem>
 
@@ -538,7 +538,7 @@ $ pulsar-admin sources get options
 
 ```
 
-For the latest and complete information, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For the latest and complete information, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 </TabItem>
 <TabItem value="REST API">
@@ -625,7 +625,7 @@ Exception name | Description
 `PulsarAdminException.NotFoundException` | Cluster doesn't exist
 `PulsarAdminException` | Unexpected error
 
-For more information, see [`getSource`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#getSource-java.lang.String-java.lang.String-java.lang.String-).
+For more information, see [`getSource`](/api/admin/org/apache/pulsar/client/admin/Source.html#getSource-java.lang.String-java.lang.String-java.lang.String-).
 
 </TabItem>
 
@@ -651,7 +651,7 @@ $ pulsar-admin sinks get options
 
 ```
 
-For the latest and complete information, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For the latest and complete information, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 </TabItem>
 <TabItem value="REST API">
@@ -731,7 +731,7 @@ Name| Description
 `namespace` | Namespace name
 `sink` | Sink name
 
-For more information, see [`getSink`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#getSink-java.lang.String-java.lang.String-java.lang.String-).
+For more information, see [`getSink`](/api/admin/org/apache/pulsar/client/admin/Sink.html#getSink-java.lang.String-java.lang.String-java.lang.String-).
 
 </TabItem>
 
@@ -761,7 +761,7 @@ $ pulsar-admin sources list options
 
 ```
 
-For the latest and complete information, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For the latest and complete information, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 </TabItem>
 <TabItem value="REST API">
@@ -794,7 +794,7 @@ Exception name | Description
 `PulsarAdminException.NotAuthorizedException` | You don't have the admin permission
 `PulsarAdminException` | Unexpected error
 
-For more information, see [`listSource`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#listSources-java.lang.String-java.lang.String-).
+For more information, see [`listSource`](/api/admin/org/apache/pulsar/client/admin/Source.html#listSources-java.lang.String-java.lang.String-).
 
 </TabItem>
 
@@ -820,7 +820,7 @@ $ pulsar-admin sinks list options
 
 ```
 
-For the latest and complete information, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For the latest and complete information, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 </TabItem>
 <TabItem value="REST API">
@@ -853,7 +853,7 @@ Exception name | Description
 `PulsarAdminException.NotAuthorizedException` | You don't have the admin permission 
 `PulsarAdminException` | Unexpected error
 
-For more information, see [`listSource`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#listSinks-java.lang.String-java.lang.String-).
+For more information, see [`listSource`](/api/admin/org/apache/pulsar/client/admin/Sink.html#listSinks-java.lang.String-java.lang.String-).
 
 </TabItem>
 
@@ -883,7 +883,7 @@ $ pulsar-admin sources status options
 
 ```
 
-For the latest and complete information, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For the latest and complete information, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 </TabItem>
 <TabItem value="REST API">
@@ -924,7 +924,7 @@ For the latest and complete information, see [Pulsar admin docs](https://pulsar.
   |---|---
   `PulsarAdminException` | Unexpected error
 
-  For more information, see [`getSourceStatus`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#getSource-java.lang.String-java.lang.String-java.lang.String-).
+  For more information, see [`getSourceStatus`](/api/admin/org/apache/pulsar/client/admin/Source.html#getSource-java.lang.String-java.lang.String-java.lang.String-).
 
 * Gets the current status of a **specified** source connector.
 
@@ -953,7 +953,7 @@ For the latest and complete information, see [Pulsar admin docs](https://pulsar.
   |---|---
   `PulsarAdminException` | Unexpected error
 
-  For more information, see [`getSourceStatus`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#getSourceStatus-java.lang.String-java.lang.String-java.lang.String-int-).
+  For more information, see [`getSourceStatus`](/api/admin/org/apache/pulsar/client/admin/Source.html#getSourceStatus-java.lang.String-java.lang.String-java.lang.String-int-).
 
 </TabItem>
 
@@ -979,7 +979,7 @@ $ pulsar-admin sinks status options
 
 ```
 
-For the latest and complete information, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For the latest and complete information, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 </TabItem>
 <TabItem value="REST API">
@@ -1020,7 +1020,7 @@ For the latest and complete information, see [Pulsar admin docs](https://pulsar.
   |---|---
   `PulsarAdminException` | Unexpected error
 
-  For more information, see [`getSinkStatus`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#getSinkStatus-java.lang.String-java.lang.String-java.lang.String-).
+  For more information, see [`getSinkStatus`](/api/admin/org/apache/pulsar/client/admin/Sink.html#getSinkStatus-java.lang.String-java.lang.String-java.lang.String-).
 
 * Gets the current status of a **specified** source connector.
 
@@ -1049,7 +1049,7 @@ For the latest and complete information, see [Pulsar admin docs](https://pulsar.
   |---|---
   `PulsarAdminException` | Unexpected error
 
-  For more information, see [`getSinkStatusWithInstanceID`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#getSinkStatus-java.lang.String-java.lang.String-java.lang.String-int-).
+  For more information, see [`getSinkStatusWithInstanceID`](/api/admin/org/apache/pulsar/client/admin/Sink.html#getSinkStatus-java.lang.String-java.lang.String-java.lang.String-int-).
 
 </TabItem>
 
@@ -1081,7 +1081,7 @@ $ pulsar-admin sources update options
 
 ```
 
-For the latest and complete information, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For the latest and complete information, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 </TabItem>
 <TabItem value="REST API">
@@ -1115,7 +1115,7 @@ Send a `PUT` request to this endpoint: {@inject: endpoint|PUT|/admin/v3/sources/
   | `PulsarAdminException.NotFoundException` | Cluster doesn't exist
   | `PulsarAdminException` | Unexpected error
 
-  For more information, see [`updateSource`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#updateSource-SourceConfig-java.lang.String-).
+  For more information, see [`updateSource`](/api/admin/org/apache/pulsar/client/admin/Source.html#updateSource-SourceConfig-java.lang.String-).
 
 * Update a source connector using a **remote file** with a URL from which fun-pkg can be downloaded. 
 
@@ -1150,7 +1150,7 @@ Send a `PUT` request to this endpoint: {@inject: endpoint|PUT|/admin/v3/sources/
   | `PulsarAdminException.NotFoundException` | Cluster doesn't exist
   | `PulsarAdminException` | Unexpected error
 
-For more information, see [`createSourceWithUrl`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#updateSourceWithUrl-SourceConfig-java.lang.String-).
+For more information, see [`createSourceWithUrl`](/api/admin/org/apache/pulsar/client/admin/Source.html#updateSourceWithUrl-SourceConfig-java.lang.String-).
 
 </TabItem>
 
@@ -1176,7 +1176,7 @@ $ pulsar-admin sinks update options
 
 ```
 
-For the latest and complete information, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For the latest and complete information, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 </TabItem>
 <TabItem value="REST API">
@@ -1210,7 +1210,7 @@ Send a `PUT` request to this endpoint: {@inject: endpoint|PUT|/admin/v3/sinks/:t
   | `PulsarAdminException.NotFoundException` | Cluster doesn't exist
   | `PulsarAdminException` | Unexpected error
 
-  For more information, see [`updateSink`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#updateSink-SinkConfig-java.lang.String-).
+  For more information, see [`updateSink`](/api/admin/org/apache/pulsar/client/admin/Sink.html#updateSink-SinkConfig-java.lang.String-).
 
 * Update a sink connector using a **remote file** with a URL from which fun-pkg can be downloaded. 
 
@@ -1245,7 +1245,7 @@ Send a `PUT` request to this endpoint: {@inject: endpoint|PUT|/admin/v3/sinks/:t
   |`PulsarAdminException.NotFoundException` | Cluster doesn't exist
   |`PulsarAdminException` | Unexpected error
 
-For more information, see [`updateSinkWithUrl`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#updateSinkWithUrl-SinkConfig-java.lang.String-).
+For more information, see [`updateSinkWithUrl`](/api/admin/org/apache/pulsar/client/admin/Sink.html#updateSinkWithUrl-SinkConfig-java.lang.String-).
 
 </TabItem>
 
@@ -1277,7 +1277,7 @@ $ pulsar-admin sources stop options
 
 ```
 
-For the latest and complete information, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For the latest and complete information, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 </TabItem>
 <TabItem value="REST API">
@@ -1318,7 +1318,7 @@ For the latest and complete information, see [Pulsar admin docs](https://pulsar.
   |---|---
   | `PulsarAdminException` | Unexpected error
 
-  For more information, see [`stopSource`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#stopSource-java.lang.String-java.lang.String-java.lang.String-).
+  For more information, see [`stopSource`](/api/admin/org/apache/pulsar/client/admin/Source.html#stopSource-java.lang.String-java.lang.String-java.lang.String-).
 
 * Stop a **specified** source connector. 
 
@@ -1347,7 +1347,7 @@ For the latest and complete information, see [Pulsar admin docs](https://pulsar.
   |---|---
   | `PulsarAdminException` | Unexpected error
 
-  For more information, see [`stopSource`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#stopSource-java.lang.String-java.lang.String-java.lang.String-int-).
+  For more information, see [`stopSource`](/api/admin/org/apache/pulsar/client/admin/Source.html#stopSource-java.lang.String-java.lang.String-java.lang.String-int-).
 
 </TabItem>
 
@@ -1373,7 +1373,7 @@ $ pulsar-admin sinks stop options
 
 ```
 
-For the latest and complete information, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For the latest and complete information, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 </TabItem>
 <TabItem value="REST API">
@@ -1414,7 +1414,7 @@ For the latest and complete information, see [Pulsar admin docs](https://pulsar.
   |---|---
   | `PulsarAdminException` | Unexpected error
 
-  For more information, see [`stopSink`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#stopSink-java.lang.String-java.lang.String-java.lang.String-).
+  For more information, see [`stopSink`](/api/admin/org/apache/pulsar/client/admin/Sink.html#stopSink-java.lang.String-java.lang.String-java.lang.String-).
 
 * Stop a **specified** sink connector. 
 
@@ -1443,7 +1443,7 @@ For the latest and complete information, see [Pulsar admin docs](https://pulsar.
   |---|---
   | `PulsarAdminException` | Unexpected error
 
-  For more information, see [`stopSink`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#stopSink-java.lang.String-java.lang.String-java.lang.String-int-).
+  For more information, see [`stopSink`](/api/admin/org/apache/pulsar/client/admin/Sink.html#stopSink-java.lang.String-java.lang.String-java.lang.String-int-).
 
 </TabItem>
 
@@ -1475,7 +1475,7 @@ $ pulsar-admin sources restart options
 
 ```
 
-For the latest and complete information, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For the latest and complete information, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 </TabItem>
 <TabItem value="REST API">
@@ -1516,7 +1516,7 @@ For the latest and complete information, see [Pulsar admin docs](https://pulsar.
   |---|---
   | `PulsarAdminException` | Unexpected error
 
-  For more information, see [`restartSource`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#restartSource-java.lang.String-java.lang.String-java.lang.String-).
+  For more information, see [`restartSource`](/api/admin/org/apache/pulsar/client/admin/Source.html#restartSource-java.lang.String-java.lang.String-java.lang.String-).
 
 * Restart a **specified** source connector. 
 
@@ -1545,7 +1545,7 @@ For the latest and complete information, see [Pulsar admin docs](https://pulsar.
   |---|---
   | `PulsarAdminException` | Unexpected error
 
-  For more information, see [`restartSource`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#restartSource-java.lang.String-java.lang.String-java.lang.String-int-).
+  For more information, see [`restartSource`](/api/admin/org/apache/pulsar/client/admin/Source.html#restartSource-java.lang.String-java.lang.String-java.lang.String-int-).
 
 </TabItem>
 
@@ -1571,7 +1571,7 @@ $ pulsar-admin sinks restart options
 
 ```
 
-For the latest and complete information, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For the latest and complete information, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 </TabItem>
 <TabItem value="REST API">
@@ -1612,7 +1612,7 @@ For the latest and complete information, see [Pulsar admin docs](https://pulsar.
   |---|---
   | `PulsarAdminException` | Unexpected error
 
-  For more information, see [`restartSink`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#restartSink-java.lang.String-java.lang.String-java.lang.String-).
+  For more information, see [`restartSink`](/api/admin/org/apache/pulsar/client/admin/Sink.html#restartSink-java.lang.String-java.lang.String-java.lang.String-).
 
 * Restart a **specified** sink connector. 
 
@@ -1641,7 +1641,7 @@ For the latest and complete information, see [Pulsar admin docs](https://pulsar.
   |---|---
   | `PulsarAdminException` | Unexpected error
 
-  For more information, see [`restartSink`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#restartSink-java.lang.String-java.lang.String-java.lang.String-int-).
+  For more information, see [`restartSink`](/api/admin/org/apache/pulsar/client/admin/Sink.html#restartSink-java.lang.String-java.lang.String-java.lang.String-int-).
 
 </TabItem>
 
@@ -1673,7 +1673,7 @@ $ pulsar-admin sources delete options
 
 ```
 
-For the latest and complete information, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For the latest and complete information, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 </TabItem>
 <TabItem value="REST API">
@@ -1713,7 +1713,7 @@ void deleteSource(String tenant,
 | `PulsarAdminException.PreconditionFailedException` | Cluster is not empty
 | `PulsarAdminException` | Unexpected error
 
-For more information, see [`deleteSource`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#deleteSource-java.lang.String-java.lang.String-java.lang.String-).
+For more information, see [`deleteSource`](/api/admin/org/apache/pulsar/client/admin/Source.html#deleteSource-java.lang.String-java.lang.String-java.lang.String-).
 
 </TabItem>
 
@@ -1739,7 +1739,7 @@ $ pulsar-admin sinks delete options
 
 ```
 
-For the latest and complete information, see [Pulsar admin docs](https://pulsar.apache.org/tools/pulsar-admin/).
+For the latest and complete information, see [Pulsar admin docs](/tools/pulsar-admin/).
 
 </TabItem>
 <TabItem value="REST API">
@@ -1779,7 +1779,7 @@ void deleteSink(String tenant,
 | `PulsarAdminException.PreconditionFailedException` | Cluster is not empty
 | `PulsarAdminException` | Unexpected error
 
-For more information, see [`deleteSource`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#deleteSink-java.lang.String-java.lang.String-java.lang.String-).
+For more information, see [`deleteSource`](/api/admin/org/apache/pulsar/client/admin/Sink.html#deleteSink-java.lang.String-java.lang.String-java.lang.String-).
 
 </TabItem>
 
diff --git a/site2/website/versioned_docs/version-2.10.0/performance-pulsar-perf.md b/site2/website/versioned_docs/version-2.10.0/performance-pulsar-perf.md
index 462fb363880..6d493f2e761 100644
--- a/site2/website/versioned_docs/version-2.10.0/performance-pulsar-perf.md
+++ b/site2/website/versioned_docs/version-2.10.0/performance-pulsar-perf.md
@@ -11,7 +11,7 @@ The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can u
 
 :::tip
 
-For the latest and complete information about `pulsar-perf`, including commands, flags, descriptions, and more, see [`pulsar-perf`](https://pulsar.apache.org/tools/pulsar-perf/) or [here](reference-cli-tools.md#pulsar-perf).
+For the latest and complete information about `pulsar-perf`, including commands, flags, descriptions, and more, see [`pulsar-perf`](/tools/pulsar-perf/) or [here](reference-cli-tools.md#pulsar-perf).
 
 :::
 
@@ -77,7 +77,7 @@ For the latest and complete information about `pulsar-perf`, including commands,
 
 :::tip
 
-For the latest and complete information about `pulsar-perf`, including commands, flags, descriptions, and more, see [`pulsar-perf`](https://pulsar.apache.org/tools/pulsar-perf/) or [here](reference-cli-tools.md#pulsar-perf).
+For the latest and complete information about `pulsar-perf`, including commands, flags, descriptions, and more, see [`pulsar-perf`](/tools/pulsar-perf/) or [here](reference-cli-tools.md#pulsar-perf).
 
 :::
 
diff --git a/site2/website/versioned_docs/version-2.10.0/reference-cli-tools.md b/site2/website/versioned_docs/version-2.10.0/reference-cli-tools.md
index 6feebe1b872..72b646f8484 100644
--- a/site2/website/versioned_docs/version-2.10.0/reference-cli-tools.md
+++ b/site2/website/versioned_docs/version-2.10.0/reference-cli-tools.md
@@ -18,7 +18,7 @@ All Pulsar command-line tools can be run from the `bin` directory of your [insta
 
 > **Important** 
 >
-> - This page only shows **some frequently used commands**. For the latest information about `pulsar`, `pulsar-client`, and `pulsar-perf`, including commands, flags, descriptions, and more information, see [Pulsar tools](https://pulsar.apache.org/tools/).
+> - This page only shows **some frequently used commands**. For the latest information about `pulsar`, `pulsar-client`, and `pulsar-perf`, including commands, flags, descriptions, and more information, see [Pulsar tools](/tools/).
 >  
 > - You can get help for any CLI tool, command, or subcommand using the `--help` flag, or `-h` for short. Here's an example:
 > 
diff --git a/site2/website/versioned_docs/version-2.10.0/reference-configuration.md b/site2/website/versioned_docs/version-2.10.0/reference-configuration.md
index 410d526fade..135baba3190 100644
--- a/site2/website/versioned_docs/version-2.10.0/reference-configuration.md
+++ b/site2/website/versioned_docs/version-2.10.0/reference-configuration.md
@@ -243,7 +243,7 @@ brokerServiceCompactionThresholdInBytes|If the estimated backlog size is greater
 |maxUnackedMessagesPerConsumer| Max number of unacknowledged messages allowed to receive messages by a consumer on a shared subscription. Broker will stop sending messages to consumer once, this limit reaches until consumer starts acknowledging messages back. Using a value of 0, is disabling unackeMessage limit check and consumer can receive messages without any restriction  |50000|
 |maxUnackedMessagesPerSubscription| Max number of unacknowledged messages allowed per shared subscription. Broker will stop dispatching messages to all consumers of the subscription once this limit reaches until consumer starts acknowledging messages back and unack count reaches to limit/2. Using a value of 0, is disabling unackedMessage-limit check and dispatcher can dispatch messages without any restriction  |200000|
 |subscriptionRedeliveryTrackerEnabled| Enable subscription message redelivery tracker |true|
-|subscriptionExpirationTimeMinutes | How long to delete inactive subscriptions from last consuming. <br /><br />Setting this configuration to a value **greater than 0** deletes inactive subscriptions automatically.<br />Setting this configuration to **0** does not delete inactive subscriptions automatically. <br /><br /> Since this configuration takes effect on all topics, if there is even one topic whose subscriptions should not be deleted automatically, you need to set it to 0. <br />I [...]
+|subscriptionExpirationTimeMinutes | How long to delete inactive subscriptions from last consuming. <br /><br />Setting this configuration to a value **greater than 0** deletes inactive subscriptions automatically.<br />Setting this configuration to **0** does not delete inactive subscriptions automatically. <br /><br /> Since this configuration takes effect on all topics, if there is even one topic whose subscriptions should not be deleted automatically, you need to set it to 0. <br />I [...]
 |maxConcurrentLookupRequest|  Max number of concurrent lookup request broker allows to throttle heavy incoming lookup traffic |50000|
 |maxConcurrentTopicLoadRequest| Max number of concurrent topic loading request broker allows to control number of zk-operations |5000|
 |authenticationEnabled| Enable authentication |false|
diff --git a/site2/website/versioned_docs/version-2.10.0/reference-connector-admin.md b/site2/website/versioned_docs/version-2.10.0/reference-connector-admin.md
index f04509228ba..2a7c1d82adb 100644
--- a/site2/website/versioned_docs/version-2.10.0/reference-connector-admin.md
+++ b/site2/website/versioned_docs/version-2.10.0/reference-connector-admin.md
@@ -7,6 +7,6 @@ original_id: reference-connector-admin
 
 > **Important**
 >
-> For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more information, see [Pulsar admin doc](https://pulsar.apache.org/tools/pulsar-admin/).
+> For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more information, see [Pulsar admin doc](/tools/pulsar-admin/).
 > 
 
diff --git a/site2/website/versioned_docs/version-2.10.0/reference-pulsar-admin.md b/site2/website/versioned_docs/version-2.10.0/reference-pulsar-admin.md
index ff0c575b315..5ec74a86e43 100644
--- a/site2/website/versioned_docs/version-2.10.0/reference-pulsar-admin.md
+++ b/site2/website/versioned_docs/version-2.10.0/reference-pulsar-admin.md
@@ -7,7 +7,7 @@ original_id: pulsar-admin
 
 > **Important**
 >
-> This page is deprecated and not updated anymore. For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more, see [Pulsar admin doc](https://pulsar.apache.org/tools/pulsar-admin/)
+> This page is deprecated and not updated anymore. For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more, see [Pulsar admin doc](/tools/pulsar-admin/)
 
 The `pulsar-admin` tool enables you to manage Pulsar installations, including clusters, brokers, namespaces, tenants, and more.
 
diff --git a/site2/website/versioned_docs/version-2.10.0/reference-rest-api-overview.md b/site2/website/versioned_docs/version-2.10.0/reference-rest-api-overview.md
index 4bdcf23483a..8e3d410112b 100644
--- a/site2/website/versioned_docs/version-2.10.0/reference-rest-api-overview.md
+++ b/site2/website/versioned_docs/version-2.10.0/reference-rest-api-overview.md
@@ -10,9 +10,9 @@ Pulsar provides a variety of REST APIs that enable you to interact with Pulsar t
 
 | REST API category | Description |
 | --- | --- |
-| [Admin](https://pulsar.apache.org/admin-rest-api/?version=master) | REST APIs for administrative operations.|
-| [Functions](https://pulsar.apache.org/functions-rest-api/?version=master) | REST APIs for function-specific operations.|
-| [Sources](https://pulsar.apache.org/source-rest-api/?version=master) | REST APIs for source-specific operations.|
-| [Sinks](https://pulsar.apache.org/sink-rest-api/?version=master) | REST APIs for sink-specific operations.|
-| [Packages](https://pulsar.apache.org/packages-rest-api/?version=master) | REST APIs for package-specific operations. A package can be a group of functions, sources, and sinks.|
+| [Admin](/admin-rest-api/?version=master) | REST APIs for administrative operations.|
+| [Functions](/functions-rest-api/?version=master) | REST APIs for function-specific operations.|
+| [Sources](/source-rest-api/?version=master) | REST APIs for source-specific operations.|
+| [Sinks](/sink-rest-api/?version=master) | REST APIs for sink-specific operations.|
+| [Packages](/packages-rest-api/?version=master) | REST APIs for package-specific operations. A package can be a group of functions, sources, and sinks.|
 
diff --git a/site2/website/versioned_docs/version-2.10.0/schema-manage.md b/site2/website/versioned_docs/version-2.10.0/schema-manage.md
index f7006298023..40b5ab06c6b 100644
--- a/site2/website/versioned_docs/version-2.10.0/schema-manage.md
+++ b/site2/website/versioned_docs/version-2.10.0/schema-manage.md
@@ -161,7 +161,7 @@ To manage schemas, you can use one of the following methods.
 | Method |  Description | 
 | --- | --- |
 |  **Admin CLI**<li></li> |   You can use the `pulsar-admin` tool to manage Pulsar schemas, brokers, clusters, sources, sinks, topics, tenants and so on. For more information about how to use the `pulsar-admin` tool, see [here](reference-pulsar-admin).  | 
-|  **REST API**<li></li> |   Pulsar exposes schema related management API in Pulsar’s admin RESTful API. You can access the admin RESTful endpoint directly to manage schemas. For more information about how to use the Pulsar REST API, see [here](http://pulsar.apache.org/admin-rest-api/).  | 
+|  **REST API**<li></li> |   Pulsar exposes schema related management API in Pulsar’s admin RESTful API. You can access the admin RESTful endpoint directly to manage schemas. For more information about how to use the Pulsar REST API, see [here](/admin-rest-api/).  | 
 |  **Java Admin API**<li></li> |  Pulsar provides Java admin library. | 
 
 ### Upload a schema
@@ -662,7 +662,7 @@ To set a schema compatibility check strategy at the topic level, use one of the
 
 <TabItem value="Admin CLI">
 
-Use the [`pulsar-admin topicPolicies set-schema-compatibility-strategy`](https://pulsar.apache.org/tools/pulsar-admin/) command. 
+Use the [`pulsar-admin topicPolicies set-schema-compatibility-strategy`](/tools/pulsar-admin/) command. 
 
 ```shell
 
@@ -708,7 +708,7 @@ To get the topic-level schema compatibility check strategy, use one of the follo
 
 <TabItem value="Admin CLI">
 
-Use the [`pulsar-admin topicPolicies get-schema-compatibility-strategy`](https://pulsar.apache.org/tools/pulsar-admin/) command. 
+Use the [`pulsar-admin topicPolicies get-schema-compatibility-strategy`](/tools/pulsar-admin/) command. 
 
 ```shell
 
@@ -758,7 +758,7 @@ To remove the topic-level schema compatibility check strategy, use one of the fo
 
 <TabItem value="Admin CLI">
 
-Use the [`pulsar-admin topicPolicies remove-schema-compatibility-strategy`](https://pulsar.apache.org/tools/pulsar-admin/) command. 
+Use the [`pulsar-admin topicPolicies remove-schema-compatibility-strategy`](/tools/pulsar-admin/) command. 
 
 ```shell
 
@@ -807,7 +807,7 @@ You can set schema compatibility check strategy at namespace level using one of
 
 <TabItem value="Admin CLI">
 
-Use the [`pulsar-admin namespaces set-schema-compatibility-strategy`](https://pulsar.apache.org/tools/pulsar-admin/) command. 
+Use the [`pulsar-admin namespaces set-schema-compatibility-strategy`](/tools/pulsar-admin/) command. 
 
 ```shell
 
@@ -823,7 +823,7 @@ Send a `PUT` request to this endpoint: {@inject: endpoint|PUT|/admin/v2/namespac
 </TabItem>
 <TabItem value="Java Admin CLI">
 
-Use the [`setSchemaCompatibilityStrategy`](https://pulsar.apache.org/api/admin/)method.
+Use the [`setSchemaCompatibilityStrategy`](/api/admin/)method.
 
 ```java
 
diff --git a/site2/website/versioned_docs/version-2.10.0/security-extending.md b/site2/website/versioned_docs/version-2.10.0/security-extending.md
index a315004b693..9c641623f83 100644
--- a/site2/website/versioned_docs/version-2.10.0/security-extending.md
+++ b/site2/website/versioned_docs/version-2.10.0/security-extending.md
@@ -27,8 +27,8 @@ PulsarClient client = PulsarClient.builder()
 ```
 
 You can implement 2 interfaces on the client side:
- * [`Authentication`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/Authentication.html)
- * [`AuthenticationDataProvider`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/AuthenticationDataProvider.html)
+ * [`Authentication`](/api/client/org/apache/pulsar/client/api/Authentication.html)
+ * [`AuthenticationDataProvider`](/api/client/org/apache/pulsar/client/api/AuthenticationDataProvider.html)
 
 This in turn requires you to provide the client credentials in the form of `org.apache.pulsar.client.api.AuthenticationDataProvider` and also leaves the chance to return different kinds of authentication token for different types of connection or by passing a certificate chain to use for TLS.
 
diff --git a/site2/website/versioned_docs/version-2.10.0/security-tls-authentication.md b/site2/website/versioned_docs/version-2.10.0/security-tls-authentication.md
index f3c32a05d97..93f566939bf 100644
--- a/site2/website/versioned_docs/version-2.10.0/security-tls-authentication.md
+++ b/site2/website/versioned_docs/version-2.10.0/security-tls-authentication.md
@@ -47,7 +47,7 @@ $ openssl req -config openssl.cnf \
 
 :::note
 
-If openssl.cnf is not specified, read [Certificate authority](http://pulsar.apache.org/docs/en/security-tls-transport/#certificate-authority) to get the openssl.cnf.
+If openssl.cnf is not specified, read [Certificate authority](security-tls-transport.md#certificate-authority) to get the openssl.cnf.
 
 :::
 
diff --git a/site2/website/versioned_docs/version-2.10.0/standalone.md b/site2/website/versioned_docs/version-2.10.0/standalone.md
index 33774525633..c9a30801d49 100644
--- a/site2/website/versioned_docs/version-2.10.0/standalone.md
+++ b/site2/website/versioned_docs/version-2.10.0/standalone.md
@@ -63,7 +63,7 @@ The Pulsar binary package initially contains the following directories:
 
 Directory | Contains
 :---------|:--------
-`bin` | Pulsar's command-line tools, such as [`pulsar`](reference-cli-tools.md#pulsar) and [`pulsar-admin`](https://pulsar.apache.org/tools/pulsar-admin/).
+`bin` | Pulsar's command-line tools, such as [`pulsar`](reference-cli-tools.md#pulsar) and [`pulsar-admin`](/tools/pulsar-admin/).
 `conf` | Configuration files for Pulsar, including [broker configuration](reference-configuration.md#broker) and more.<br />**Note:** Pulsar standalone uses RocksDB as the local metadata store and its configuration file path [`metadataStoreConfigPath`](reference-configuration) is configurable in the `standalone.conf` file. For more information about the configurations of RocksDB, see [here](https://github.com/facebook/rocksdb/blob/main/examples/rocksdb_option_file_example.ini) and relate [...]
 `examples` | A Java JAR file containing [Pulsar Functions](functions-overview) example.
 `instances` | Artifacts created for [Pulsar Functions](functions-overview).
@@ -203,7 +203,7 @@ If you have started Pulsar successfully, you will see `INFO`-level log messages
 
 :::
 
-You can also run the service as a background process using the `bin/pulsar-daemon start standalone` command. For more information, see [pulsar-daemon](https://pulsar.apache.org/docs/en/reference-cli-tools/#pulsar-daemon).
+You can also run the service as a background process using the `bin/pulsar-daemon start standalone` command. For more information, see [pulsar-daemon](reference-cli-tools.md#pulsar-daemon).
 > 
 > * By default, there is no encryption, authentication, or authorization configured. Apache Pulsar can be accessed from remote server without any authorization. Please do check [Security Overview](security-overview) document to secure your deployment.
 >
@@ -262,7 +262,7 @@ Press `Ctrl+C` to stop a local standalone Pulsar.
 :::tip
 
 If the service runs as a background process using the `bin/pulsar-daemon start standalone` command, then use the `bin/pulsar-daemon stop standalone`  command to stop the service.
-For more information, see [pulsar-daemon](https://pulsar.apache.org/docs/en/reference-cli-tools/#pulsar-daemon).
+For more information, see [pulsar-daemon](reference-cli-tools.md#pulsar-daemon).
 
 :::
 
diff --git a/site2/website/versioned_docs/version-2.10.0/tiered-storage-aliyun.md b/site2/website/versioned_docs/version-2.10.0/tiered-storage-aliyun.md
index 5772f162b5e..89dc53cda76 100644
--- a/site2/website/versioned_docs/version-2.10.0/tiered-storage-aliyun.md
+++ b/site2/website/versioned_docs/version-2.10.0/tiered-storage-aliyun.md
@@ -19,9 +19,9 @@ Follow the steps below to install the Aliyun OSS offloader.
 
 This example uses Pulsar 2.8.0.
 
-1. Download the Pulsar tarball, see [here](https://pulsar.apache.org/docs/en/standalone/#install-pulsar-using-binary-release).
+1. Download the Pulsar tarball, see [here](standalone.md#install-pulsar-using-binary-release).
 
-2. Download and untar the Pulsar offloaders package, then copy the Pulsar offloaders as `offloaders` in the Pulsar directory, see [here](https://pulsar.apache.org/docs/en/standalone/#install-tiered-storage-offloaders-optional).
+2. Download and untar the Pulsar offloaders package, then copy the Pulsar offloaders as `offloaders` in the Pulsar directory, see [here](standalone.md#install-tiered-storage-offloaders-optional).
 
    **Output**
    
@@ -146,7 +146,7 @@ Automatic offloading runs when a new segment is added to a topic log. If you set
 
 You can configure the threshold size using CLI tools, such as pulsar-admin.
 
-The offload configurations in `broker.conf` and `standalone.conf` are used for the namespaces that do not have namespace level offload policies. Each namespace can have its own offload policy. If you want to set offload policy for each namespace, use the command [`pulsar-admin namespaces set-offload-policies options`](https://pulsar.apache.org/tools/pulsar-admin/2.6.0-SNAPSHOT/#-em-set-offload-policies-em-) command.
+The offload configurations in `broker.conf` and `standalone.conf` are used for the namespaces that do not have namespace level offload policies. Each namespace can have its own offload policy. If you want to set offload policy for each namespace, use the command [`pulsar-admin namespaces set-offload-policies options`](/tools/pulsar-admin/) command.
  
 #### Example
 
@@ -160,7 +160,7 @@ bin/pulsar-admin namespaces set-offload-threshold --size 10M my-tenant/my-namesp
 
 :::tip
 
-For more information about the `pulsar-admin namespaces set-offload-threshold options` command, including flags, descriptions, and default values, see [here](https://pulsar.apache.org/tools/pulsar-admin/2.6.0-SNAPSHOT/#-em-set-offload-threshold-em-). 
+For more information about the `pulsar-admin namespaces set-offload-threshold options` command, including flags, descriptions, and default values, see [here](/tools/pulsar-admin/). 
 
 :::
 
@@ -194,7 +194,7 @@ For individual topics, you can trigger the Aliyun OSS offloader manually using o
 
   :::tip
 
-  For more information about the `pulsar-admin topics offload options` command, including flags, descriptions, and default values, see [here](https://pulsar.apache.org/tools/pulsar-admin/2.6.0-SNAPSHOT/#-em-offload-em-). 
+  For more information about the `pulsar-admin topics offload options` command, including flags, descriptions, and default values, see [here](/tools/pulsar-admin/). 
 
   :::
 
@@ -251,7 +251,7 @@ For individual topics, you can trigger the Aliyun OSS offloader manually using o
 
   :::tip
 
-  For more information about the `pulsar-admin topics offload-status options` command, including flags, descriptions, and default values, see [here](https://pulsar.apache.org/tools/pulsar-admin/2.6.0-SNAPSHOT/#-em-offload-status-em-). 
+  For more information about the `pulsar-admin topics offload-status options` command, including flags, descriptions, and default values, see [here](/tools/pulsar-admin/). 
 
   :::
 
diff --git a/site2/website/versioned_docs/version-2.10.0/tiered-storage-aws.md b/site2/website/versioned_docs/version-2.10.0/tiered-storage-aws.md
index 5d3076f49cf..11905bbb09e 100644
--- a/site2/website/versioned_docs/version-2.10.0/tiered-storage-aws.md
+++ b/site2/website/versioned_docs/version-2.10.0/tiered-storage-aws.md
@@ -23,7 +23,7 @@ This example uses Pulsar 2.5.1.
 
    * Download from the [Apache mirror](https://archive.apache.org/dist/pulsar/pulsar-2.5.1/apache-pulsar-2.5.1-bin.tar.gz)
 
-   * Download from the Pulsar [downloads page](https://pulsar.apache.org/download)
+   * Download from the Pulsar [downloads page](/download)
 
    * Use [wget](https://www.gnu.org/software/wget):
 
@@ -215,7 +215,7 @@ Automatic offloading runs when a new segment is added to a topic log. If you set
 
 You can configure the threshold size using CLI tools, such as pulsar-admin.
 
-The offload configurations in `broker.conf` and `standalone.conf` are used for the namespaces that do not have namespace level offload policies. Each namespace can have its own offload policy. If you want to set offload policy for each namespace, use the command [`pulsar-admin namespaces set-offload-policies options`](https://pulsar.apache.org/tools/pulsar-admin/2.6.0-SNAPSHOT/#-em-set-offload-policies-em-) command.
+The offload configurations in `broker.conf` and `standalone.conf` are used for the namespaces that do not have namespace level offload policies. Each namespace can have its own offload policy. If you want to set offload policy for each namespace, use the command [`pulsar-admin namespaces set-offload-policies options`](/tools/pulsar-admin/) command.
  
 #### Example
 
@@ -229,7 +229,7 @@ bin/pulsar-admin namespaces set-offload-threshold --size 10M my-tenant/my-namesp
 
 :::tip
 
-For more information about the `pulsar-admin namespaces set-offload-threshold options` command, including flags, descriptions, and default values, see [here](https://pulsar.apache.org/tools/pulsar-admin/2.6.0-SNAPSHOT/#-em-set-offload-threshold-em-). 
+For more information about the `pulsar-admin namespaces set-offload-threshold options` command, including flags, descriptions, and default values, see [here](/tools/pulsar-admin/). 
 
 :::
 
@@ -263,7 +263,7 @@ For individual topics, you can trigger AWS S3 offloader manually using one of th
 
   :::tip
 
-  For more information about the `pulsar-admin topics offload options` command, including flags, descriptions, and default values, see [here](https://pulsar.apache.org/tools/pulsar-admin/2.6.0-SNAPSHOT/#-em-offload-em-). 
+  For more information about the `pulsar-admin topics offload options` command, including flags, descriptions, and default values, see [here](/tools/pulsar-admin/). 
 
   :::
 
@@ -320,7 +320,7 @@ For individual topics, you can trigger AWS S3 offloader manually using one of th
 
   :::tip
 
-  For more information about the `pulsar-admin topics offload-status options` command, including flags, descriptions, and default values, see [here](https://pulsar.apache.org/tools/pulsar-admin/2.6.0-SNAPSHOT/#-em-offload-status-em-). 
+  For more information about the `pulsar-admin topics offload-status options` command, including flags, descriptions, and default values, see [here](/tools/pulsar-admin/). 
 
   :::
 
diff --git a/site2/website/versioned_docs/version-2.10.0/tiered-storage-azure.md b/site2/website/versioned_docs/version-2.10.0/tiered-storage-azure.md
index e1485af3984..e65356355cc 100644
--- a/site2/website/versioned_docs/version-2.10.0/tiered-storage-azure.md
+++ b/site2/website/versioned_docs/version-2.10.0/tiered-storage-azure.md
@@ -23,7 +23,7 @@ This example uses Pulsar 2.6.2.
 
    * Download from the [Apache mirror](https://archive.apache.org/dist/pulsar/pulsar-2.6.2/apache-pulsar-2.6.2-bin.tar.gz)
 
-   * Download from the Pulsar [downloads page](https://pulsar.apache.org/download)
+   * Download from the Pulsar [downloads page](/download)
 
    * Use [wget](https://www.gnu.org/software/wget):
 
@@ -153,7 +153,7 @@ Automatic offloading runs when a new segment is added to a topic log. If you set
 
 You can configure the threshold size using CLI tools, such as pulsar-admin.
 
-The offload configurations in `broker.conf` and `standalone.conf` are used for the namespaces that do not have namespace level offload policies. Each namespace can have its own offload policy. If you want to set offload policy for each namespace, use the command [`pulsar-admin namespaces set-offload-policies options`](https://pulsar.apache.org/tools/pulsar-admin/2.6.0-SNAPSHOT/#-em-set-offload-policies-em-) command.
+The offload configurations in `broker.conf` and `standalone.conf` are used for the namespaces that do not have namespace level offload policies. Each namespace can have its own offload policy. If you want to set offload policy for each namespace, use the command [`pulsar-admin namespaces set-offload-policies options`](/tools/pulsar-admin/) command.
  
 #### Example
 
@@ -167,7 +167,7 @@ bin/pulsar-admin namespaces set-offload-threshold --size 10M my-tenant/my-namesp
 
 :::tip
 
-For more information about the `pulsar-admin namespaces set-offload-threshold options` command, including flags, descriptions, and default values, see [here](https://pulsar.apache.org/tools/pulsar-admin/2.6.0-SNAPSHOT/#-em-set-offload-threshold-em-). 
+For more information about the `pulsar-admin namespaces set-offload-threshold options` command, including flags, descriptions, and default values, see [here](/tools/pulsar-admin/). 
 
 :::
 
@@ -201,7 +201,7 @@ For individual topics, you can trigger Azure BlobStore offloader manually using
 
   :::tip
 
-  For more information about the `pulsar-admin topics offload options` command, including flags, descriptions, and default values, see [here](https://pulsar.apache.org/tools/pulsar-admin/2.6.0-SNAPSHOT/#-em-offload-em-). 
+  For more information about the `pulsar-admin topics offload options` command, including flags, descriptions, and default values, see [here](/tools/pulsar-admin/). 
 
   :::
 
@@ -258,7 +258,7 @@ For individual topics, you can trigger Azure BlobStore offloader manually using
 
   :::tip
 
-  For more information about the `pulsar-admin topics offload-status options` command, including flags, descriptions, and default values, see [here](https://pulsar.apache.org/tools/pulsar-admin/2.6.0-SNAPSHOT/#-em-offload-status-em-). 
+  For more information about the `pulsar-admin topics offload-status options` command, including flags, descriptions, and default values, see [here](/tools/pulsar-admin/). 
 
   :::
 
diff --git a/site2/website/versioned_docs/version-2.10.0/tiered-storage-filesystem.md b/site2/website/versioned_docs/version-2.10.0/tiered-storage-filesystem.md
index 4586bdf8b7e..a4ddf74b846 100644
--- a/site2/website/versioned_docs/version-2.10.0/tiered-storage-filesystem.md
+++ b/site2/website/versioned_docs/version-2.10.0/tiered-storage-filesystem.md
@@ -29,7 +29,7 @@ This example uses Pulsar 2.5.1.
 
    * Download the Pulsar tarball from the [Apache mirror](https://archive.apache.org/dist/pulsar/pulsar-2.5.1/apache-pulsar-2.5.1-bin.tar.gz)
 
-   * Download the Pulsar tarball from the Pulsar [download page](https://pulsar.apache.org/download)
+   * Download the Pulsar tarball from the Pulsar [download page](/download/)
 
    * Use the [wget](https://www.gnu.org/software/wget) command to dowload the Pulsar tarball.
 
@@ -478,7 +478,7 @@ Execute the following commands in the repository where you download Pulsar tarba
    
    ```
 
-2. To ensure the data generated is not deleted immediately, it is recommended to set the [retention policy](https://pulsar.apache.org/docs/en/next/cookbooks-retention-expiry/#retention-policies), which can be either a **size** limit or a **time** limit. The larger value you set for the retention policy, the longer the data can be retained.
+2. To ensure the data generated is not deleted immediately, it is recommended to set the [retention policy](cookbooks-retention-expiry.md#retention-policies), which can be either a **size** limit or a **time** limit. The larger value you set for the retention policy, the longer the data can be retained.
 
    ```
    
diff --git a/site2/website/versioned_docs/version-2.10.0/tiered-storage-gcs.md b/site2/website/versioned_docs/version-2.10.0/tiered-storage-gcs.md
index 81e7c5c6e6a..df1b4f6fb7e 100644
--- a/site2/website/versioned_docs/version-2.10.0/tiered-storage-gcs.md
+++ b/site2/website/versioned_docs/version-2.10.0/tiered-storage-gcs.md
@@ -23,7 +23,7 @@ This example uses Pulsar 2.5.1.
 
    * Download from the [Apache mirror](https://archive.apache.org/dist/pulsar/pulsar-2.5.1/apache-pulsar-2.5.1-bin.tar.gz)
 
-   * Download from the Pulsar [download page](https://pulsar.apache.org/download)
+   * Download from the Pulsar [download page](/download)
 
    * Use [wget](https://www.gnu.org/software/wget)
 
@@ -205,7 +205,7 @@ Automatic offloading runs when a new segment is added to a topic log. If you set
 
 You can configure the threshold size using CLI tools, such as pulsar-admin.
 
-The offload configurations in `broker.conf` and `standalone.conf` are used for the namespaces that do not have namespace level offload policies. Each namespace can have its own offload policy. If you want to set offload policy for each namespace, use the command [`pulsar-admin namespaces set-offload-policies options`](https://pulsar.apache.org/tools/pulsar-admin/2.6.0-SNAPSHOT/#-em-set-offload-policies-em-) command.
+The offload configurations in `broker.conf` and `standalone.conf` are used for the namespaces that do not have namespace level offload policies. Each namespace can have its own offload policy. If you want to set offload policy for each namespace, use the command [`pulsar-admin namespaces set-offload-policies options`](/tools/pulsar-admin/) command.
 
 #### Example
 
diff --git a/site2/website/versioned_docs/version-2.10.0/txn-monitor.md b/site2/website/versioned_docs/version-2.10.0/txn-monitor.md
index 5b50953772d..2ca2c887afb 100644
--- a/site2/website/versioned_docs/version-2.10.0/txn-monitor.md
+++ b/site2/website/versioned_docs/version-2.10.0/txn-monitor.md
@@ -5,6 +5,6 @@ sidebar_label: "How to monitor transactions?"
 original_id: txn-monitor
 ---
 
-You can monitor the status of the transactions in Prometheus and Grafana using the [transaction metrics](https://pulsar.apache.org/docs/en/next/reference-metrics/#pulsar-transaction). 
+You can monitor the status of the transactions in Prometheus and Grafana using the [transaction metrics](reference-metrics.md#pulsar-transaction). 
 
-For how to configure Prometheus and Grafana, see [here](https://pulsar.apache.org/docs/en/next/deploy-monitoring).
+For how to configure Prometheus and Grafana, see [here](deploy-monitoring).
diff --git a/site2/website/versioned_docs/version-2.10.0/txn-use.md b/site2/website/versioned_docs/version-2.10.0/txn-use.md
index a16ea7140da..b36721a6c60 100644
--- a/site2/website/versioned_docs/version-2.10.0/txn-use.md
+++ b/site2/website/versioned_docs/version-2.10.0/txn-use.md
@@ -7,7 +7,7 @@ original_id: txn-use
 
 ## Transaction API
 
-The transaction feature is primarily a server-side and protocol-level feature. You can use the transaction feature via the [transaction API](https://pulsar.apache.org/api/admin/), which is available in **Pulsar 2.8.0 or later**. 
+The transaction feature is primarily a server-side and protocol-level feature. You can use the transaction feature via the [transaction API](/api/admin/), which is available in **Pulsar 2.8.0 or later**. 
 
 To use the transaction API, you do not need any additional settings in the Pulsar client. **By default**, transactions is **disabled**. 
 
diff --git a/site2/website/versioned_docs/version-2.10.0/txn-what.md b/site2/website/versioned_docs/version-2.10.0/txn-what.md
index 844f19a700f..f8bf3eb7e56 100644
--- a/site2/website/versioned_docs/version-2.10.0/txn-what.md
+++ b/site2/website/versioned_docs/version-2.10.0/txn-what.md
@@ -5,7 +5,7 @@ sidebar_label: "What are transactions?"
 original_id: txn-what
 ---
 
-Transactions strengthen the message delivery semantics of Apache Pulsar and [processing guarantees of Pulsar Functions](https://pulsar.apache.org/docs/en/next/functions-overview/#processing-guarantees). The Pulsar Transaction API supports atomic writes and acknowledgments across multiple topics. 
+Transactions strengthen the message delivery semantics of Apache Pulsar and [processing guarantees of Pulsar Functions](functions-overview.md#processing-guarantees). The Pulsar Transaction API supports atomic writes and acknowledgments across multiple topics. 
 
 Transactions allow:
 
diff --git a/site2/website/versioned_docs/version-2.10.0/txn-why.md b/site2/website/versioned_docs/version-2.10.0/txn-why.md
index 580537ad7f6..1b489d4886c 100644
--- a/site2/website/versioned_docs/version-2.10.0/txn-why.md
+++ b/site2/website/versioned_docs/version-2.10.0/txn-why.md
@@ -24,7 +24,7 @@ The Pulsar transactions API strengthens the message delivery semantics and the p
 
 Avoiding data loss or duplication can be achieved by using the Pulsar idempotent producer, but it does not provide guarantees for writes across multiple partitions. 
 
-In Pulsar, the highest level of message delivery guarantee is using an [idempotent producer](https://pulsar.apache.org/docs/en/next/concepts-messaging/#producer-idempotency) with the exactly once semantic at one single partition, that is, each message is persisted exactly once without data loss and duplication. However, there are some limitations in this solution:
+In Pulsar, the highest level of message delivery guarantee is using an [idempotent producer](concepts-messaging.md#producer-idempotency) with the exactly once semantic at one single partition, that is, each message is persisted exactly once without data loss and duplication. However, there are some limitations in this solution:
 
 - Due to the monotonic increasing sequence ID, this solution only works on a single partition and within a single producer session (that is, for producing one message), so there is no atomicity when producing multiple messages to one or multiple partitions.