Merge pull request #40 from nzomkxia/link-fix

fix invalid link
diff --git a/dubbo-admin-book-en/install/redis.md b/dubbo-admin-book-en/install/redis.md
index 2a1f4c7..8cc069b 100644
--- a/dubbo-admin-book-en/install/redis.md
+++ b/dubbo-admin-book-en/install/redis.md
@@ -2,9 +2,9 @@
 
 
 
-Redis [^1] introductions, please refer to: [Redis application center manual](http://dubbo.apache.org/books/dubbo-user-book-en/references/registry/redis.html)。
+Redis [^1] introductions, please refer to: [Redis application center manual](../../dubbo-user-book-en/references/registry/redis.md)。
 
-you need an origin Redis server only, and change the value from `dubbo.registry.addrss` to `redis://127.0.0.1:6379` in `conf/dubbo.properties` of [quick start](http://dubbo.apache.org/books/dubbo-user-book-en/quick-start.html)
+you need an origin Redis server only, and change the value from `dubbo.registry.addrss` to `redis://127.0.0.1:6379` in `conf/dubbo.properties` of [quick start](../../dubbo-user-book-en/quick-start.md)
 
 Redis configuration center cluster [^2] write multiple server in client side and read from a single server.
 
diff --git a/dubbo-admin-book-en/install/simple-monitor-center.md b/dubbo-admin-book-en/install/simple-monitor-center.md
index 7e9a715..8fe2176 100644
--- a/dubbo-admin-book-en/install/simple-monitor-center.md
+++ b/dubbo-admin-book-en/install/simple-monitor-center.md
@@ -90,5 +90,5 @@
 
 Charts directory must be in `jetty.directory`, or it can not be accessed by web page.
 
-[^1]: Please refer to [Telnet command reference manual](http://dubbo.apache.org/books/dubbo-user-book-en/references/telnet.html)
+[^1]: Please refer to [Telnet command reference manual](../../dubbo-user-book-en/references/telnet.md)
 
diff --git a/dubbo-admin-book-en/install/simple-registry-center.md b/dubbo-admin-book-en/install/simple-registry-center.md
index 752e00b..7826b9f 100644
--- a/dubbo-admin-book-en/install/simple-registry-center.md
+++ b/dubbo-admin-book-en/install/simple-registry-center.md
@@ -75,4 +75,4 @@
 echo status | nc -i 1 127.0.0.1 9090
 ```
 
-[^1]: Please refer to [Telnet command manual](http://dubbo.apache.org/books/dubbo-user-book-en/references/telnet.html)
+[^1]: Please refer to [Telnet command manual](../../dubbo-user-book-en/references/telnet.md)
diff --git a/dubbo-admin-book/install/redis.md b/dubbo-admin-book/install/redis.md
index fe46707..be684fe 100644
--- a/dubbo-admin-book/install/redis.md
+++ b/dubbo-admin-book/install/redis.md
@@ -2,9 +2,9 @@
 
 
 
-Redis [^1] 使用方式参见: [Redis 注册中心参考手册](http://dubbo.apache.org/books/dubbo-user-book/references/registry/redis.html)。
+Redis [^1] 使用方式参见: [Redis 注册中心参考手册](../../dubbo-user-book/references/registry/redis.md)。
 
-只需搭一个原生的 Redis 服务器,并将[快速启动](http://dubbo.apache.org/books/dubbo-user-book/quick-start.html)中 Provider 和 Consumer 里的 `conf/dubbo.properties` 中的 `dubbo.registry.addrss` 的值改为 `redis://127.0.0.1:6379` 即可使用。
+只需搭一个原生的 Redis 服务器,并将[快速启动](../../dubbo-user-book/quick-start.md)中 Provider 和 Consumer 里的 `conf/dubbo.properties` 中的 `dubbo.registry.addrss` 的值改为 `redis://127.0.0.1:6379` 即可使用。
 
 Redis 注册中心集群 [^2] 采用在客户端同时写入多个服务器,读取单个服务器的策略实现。
 
diff --git a/dubbo-admin-book/install/simple-monitor-center.md b/dubbo-admin-book/install/simple-monitor-center.md
index 28ab3bc..69e58ee 100644
--- a/dubbo-admin-book/install/simple-monitor-center.md
+++ b/dubbo-admin-book/install/simple-monitor-center.md
@@ -91,5 +91,5 @@
 
 charts 目录必须放在 `jetty.directory` 下,否则页面上访问不了。
 
-[^1]: 请参考 [Telnet 命令参考手册](http://dubbo.apache.org/books/dubbo-user-book/references/telnet.html)
+[^1]: 请参考 [Telnet 命令参考手册](../../dubbo-user-book/references/telnet.md)
 
diff --git a/dubbo-admin-book/install/simple-registry-center.md b/dubbo-admin-book/install/simple-registry-center.md
index 6eef802..5ff8bc5 100644
--- a/dubbo-admin-book/install/simple-registry-center.md
+++ b/dubbo-admin-book/install/simple-registry-center.md
@@ -76,4 +76,4 @@
 echo status | nc -i 1 127.0.0.1 9090
 ```
 
-[^1]: 请参考 [Telnet 命令参考手册](http://dubbo.apache.org/books/dubbo-user-book/references/telnet.html)
+[^1]: 请参考 [Telnet 命令参考手册](../../dubbo-user-book/references/telnet.md)
diff --git a/dubbo-user-book-en/demos/callback-parameter.md b/dubbo-user-book-en/demos/callback-parameter.md
index 23f3b70..0a3e5b7 100644
--- a/dubbo-user-book-en/demos/callback-parameter.md
+++ b/dubbo-user-book-en/demos/callback-parameter.md
@@ -1,6 +1,6 @@
 # Callback parameter
 
-The parameter callback is the same as calling a local callback or listener, just declare which parameter is a callback type in Spring's configuration file, and Dubbo will generate a reverse proxy based on the long connection so that client logic can be called from the server.Can ref to [Sample code in the dubbo project](https://github.com/apache/incubator-dubbo/tree/master/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/callback).
+The parameter callback is the same as calling a local callback or listener, just declare which parameter is a callback type in Spring's configuration file, and Dubbo will generate a reverse proxy based on the long connection so that client logic can be called from the server.Can ref to [Sample code in the dubbo project](https://github.com/dubbo/dubbo-samples/tree/master/dubbo-samples-callback).
 
 ## Example of service interface
 
diff --git a/dubbo-user-book-en/demos/fault-tolerent-strategy.md b/dubbo-user-book-en/demos/fault-tolerent-strategy.md
index 3161fad..e3ee57f 100644
--- a/dubbo-user-book-en/demos/fault-tolerent-strategy.md
+++ b/dubbo-user-book-en/demos/fault-tolerent-strategy.md
@@ -14,7 +14,7 @@
 
 ## Cluster fault-tolerant mode
 
-You can expand the cluster fault tolerance strategy, see:[Cluster expansion](http://dubbo.apache.org/books/dubbo-dev-book-en/impls/cluster.html)
+You can expand the cluster fault tolerance strategy, see:[Cluster expansion](../../dubbo-dev-book-en/impls/cluster.md)
 
 ## Failover Cluster
 
diff --git a/dubbo-user-book-en/demos/group-merger.md b/dubbo-user-book-en/demos/group-merger.md
index d1630d5..f3bf2dd 100644
--- a/dubbo-user-book-en/demos/group-merger.md
+++ b/dubbo-user-book-en/demos/group-merger.md
@@ -2,7 +2,7 @@
 
 According to the group to invoke server and return the merge result [^1], such as the menu service, the same interface, but there are a variety of implementations, using group distinction, consumers call each group and get the results, the merger can merge the resules, so that you can achieve aggregation Menu Item.
 
-Related code can refer to [dubbo project example](https://github.com/apache/incubator-dubbo/tree/master/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/merge)
+Related code can refer to [dubbo project example](https://github.com/dubbo/dubbo-samples/tree/master/dubbo-samples-merge)
 
 ## Configuration
 
@@ -51,4 +51,4 @@
 ```
 
 [^1]: since `2.1.0` began to support
-[^2]: See also:[merger extensions](http://dubbo.apache.org/books/dubbo-user-book-en/demos/group-merger.html)
+[^2]: See also:[merger extensions](../../dubbo-user-book-en/demos/group-merger.md)
diff --git a/dubbo-user-book-en/demos/loadbalance.md b/dubbo-user-book-en/demos/loadbalance.md
index d45d08e..a4f2e46 100644
--- a/dubbo-user-book-en/demos/loadbalance.md
+++ b/dubbo-user-book-en/demos/loadbalance.md
@@ -2,7 +2,7 @@
 
 Dubbo offers a number of balancing strategies for cluster load balancing, which defaults to `random`.
 
-You can extend the load balancing strategy by yourself, see:[LoadBalance extension](http://dubbo.apache.org/books/dubbo-dev-book-en/impls/load-balance.html)
+You can extend the load balancing strategy by yourself, see:[LoadBalance extension](../../dubbo-dev-book-en/impls/load-balance.md)
 
 ## LoadBalance strategy
 
diff --git a/dubbo-user-book-en/demos/multi-registry.md b/dubbo-user-book-en/demos/multi-registry.md
index 9d90bef..d38658e 100644
--- a/dubbo-user-book-en/demos/multi-registry.md
+++ b/dubbo-user-book-en/demos/multi-registry.md
@@ -80,4 +80,4 @@
 </beans>
 ```
 
-[^1]: custom registry, see:[registry extension](http://dubbo.apache.org/books/dubbo-dev-book-en/impls/registry.html)
+[^1]: custom registry, see:[registry extension](../../dubbo-dev-book-en/impls/registry.md)
diff --git a/dubbo-user-book-en/demos/parameter-validation.md b/dubbo-user-book-en/demos/parameter-validation.md
index 4b2bb51..7d5e838 100644
--- a/dubbo-user-book-en/demos/parameter-validation.md
+++ b/dubbo-user-book-en/demos/parameter-validation.md
@@ -179,5 +179,5 @@
 }
 ```
 
-[^1]: Support since `2.1.0` version. If you want to know how to use it, refer to  [Sample code in dubbo project] (https://github.com/apache/incubator-dubbo/tree/master/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/validation)
-[^2]: The validation method is extensible, refer to [Developer Extension](https://github.com/apache/incubator-dubbo/tree/master/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/validation) in the developer's manual.
+[^1]: Support since `2.1.0` version. If you want to know how to use it, refer to  [Sample code in dubbo project] (https://github.com/dubbo/dubbo-samples/tree/master/dubbo-samples-validation)
+[^2]: The validation method is extensible, refer to [Developer Extension](../../dubbo-dev-book-en/impls/validation.md) in the developer's manual.
diff --git a/dubbo-user-book-en/demos/result-cache.md b/dubbo-user-book-en/demos/result-cache.md
index 77d0e1f..ef5b411 100644
--- a/dubbo-user-book-en/demos/result-cache.md
+++ b/dubbo-user-book-en/demos/result-cache.md
@@ -8,7 +8,7 @@
 * `threadlocal` The current thread cache. For example, a page have a lot of portal and each portal need to check user information,  you can reduce this redundant visit with this cache.
 * `jcache` integrate with [JSR107](http://jcp.org/en/jsr/detail?id=107%27) , you can bridge a variety of cache implementation。
 
-Caching type can be extended,refer to:[Cache extension](http://dubbo.apache.org/books/dubbo-dev-book-en/impls/cache.html)
+Caching type can be extended,refer to:[Cache extension](../../dubbo-dev-book-en/impls/cache.md)
 
 ## Configuration
 
@@ -25,4 +25,4 @@
 ```
 
 [^1]: Support since `2.1.0` 
-[^2]: [Sample](https://github.com/apache/incubator-dubbo/tree/master/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/cache)
\ No newline at end of file
+[^2]: [Sample](https://github.com/dubbo/dubbo-samples/tree/master/dubbo-samples-cache)
\ No newline at end of file
diff --git a/dubbo-user-book-en/demos/routing-rule.md b/dubbo-user-book-en/demos/routing-rule.md
index b15fa1e..7cea151 100644
--- a/dubbo-user-book-en/demos/routing-rule.md
+++ b/dubbo-user-book-en/demos/routing-rule.md
@@ -134,6 +134,6 @@
 ```
 
 [^1]: Support since `2.2.0`   
-[^2]: Routing Rules Extension Point: [Route Extension](http://dubbo.apache.org/books/dubbo-dev-book-en/impls/router.html)   
+[^2]: Routing Rules Extension Point: [Route Extension](../../dubbo-dev-book-en/impls/router.md)   
 [^3]: Note: A service can only have one whitelist rule, otherwise the two rules will be filtered out.  
 [^4]: Note: Scripts have no sandbox constraints, can execute arbitrary code, and poses a backdoor risk.  
\ No newline at end of file
diff --git a/dubbo-user-book-en/demos/service-container.md b/dubbo-user-book-en/demos/service-container.md
index ac81e1e..98f6438 100644
--- a/dubbo-user-book-en/demos/service-container.md
+++ b/dubbo-user-book-en/demos/service-container.md
@@ -4,7 +4,7 @@
 
 The service container is just a simple Main method and loads a simple Spring container to expose the service.
 
-The content of Service container can be extended, built-in spring, jetty, log4j etc..  This can be expanded with [Container Extension Points](http://dubbo.apache.org/books/dubbo-dev-book-en/impls/container.html). Configure it with the -D parameter in the java command or `dubbo.properties`.
+The content of Service container can be extended, built-in spring, jetty, log4j etc..  This can be expanded with [Container Extension Points](../../dubbo-dev-book-en/impls/container.md). Configure it with the -D parameter in the java command or `dubbo.properties`.
 
 ## Container type
 
diff --git a/dubbo-user-book-en/quick-start.md b/dubbo-user-book-en/quick-start.md
index 3701406..8962edf 100644
--- a/dubbo-user-book-en/quick-start.md
+++ b/dubbo-user-book-en/quick-start.md
@@ -7,7 +7,7 @@
 
 ## Service provider
 
-Complete installation steps, see:[Provider demo installation](http://dubbo.apache.org/books/dubbo-admin-book-en/install/provider-demo.html)
+Complete installation steps, see:[Provider demo installation](../dubbo-admin-book-en/install/provider-demo.md)
 
 ### Defining service interfaces
 
@@ -84,7 +84,7 @@
 
 ## Service consumer
 
-Complete installation steps, see : [Consumer demo installation](http://dubbo.apache.org/books/dubbo-admin-book-en/install/consumer-demo.html)
+Complete installation steps, see : [Consumer demo installation](../dubbo-admin-book-en/install/consumer-demo.md)
 
 ### Using the Spring configuration to reference a remote service 
 
diff --git a/dubbo-user-book-en/references/protocol/thrift.md b/dubbo-user-book-en/references/protocol/thrift.md
index 6bdc2ca..ad6e4eb 100644
--- a/dubbo-user-book-en/references/protocol/thrift.md
+++ b/dubbo-user-book-en/references/protocol/thrift.md
@@ -23,7 +23,7 @@
 
 ## Example
 
-you can check [dubbo thrift example](https://github.com/apache/incubator-dubbo/tree/master/dubbo-rpc/dubbo-rpc-thrift/src/test/java/com/alibaba/dubbo/rpc/protocol/thrift/examples)
+you can check [dubbo thrift example](https://github.com/apache/incubator-dubbo/tree/master/dubbo-rpc/dubbo-rpc-thrift/src/test/java/org/apache/dubbo/rpc/protocol/thrift/examples)
 
 ## Common problem
 
diff --git a/dubbo-user-book-en/references/registry/redis.md b/dubbo-user-book-en/references/registry/redis.md
index ef70780..3934595 100644
--- a/dubbo-user-book-en/references/registry/redis.md
+++ b/dubbo-user-book-en/references/registry/redis.md
@@ -64,7 +64,7 @@
 
 ## Installation
 
-Pls. refer to [redis install manual](http://dubbo.apache.org/books/dubbo-admin-book/install/redis.html) for how to install a redis based registry server. To set it up, specify `dubbo.registry.addrss` to `redis://127.0.0.1:6379` in `conf/dubbo.properties` for both provider and consumer (you can refer to [quick start](../../preface/usage.md)) after install a redis server.
+Pls. refer to [redis install manual](../../../dubbo-admin-book-en/install/redis.md) for how to install a redis based registry server. To set it up, specify `dubbo.registry.addrss` to `redis://127.0.0.1:6379` in `conf/dubbo.properties` for both provider and consumer (you can refer to [quick start](../../preface/usage.md)) after install a redis server.
 
 [^1]: [Redis](http://redis.io) is a high performance KV cache server
 [^2]: Support since `2.1.0`
diff --git a/dubbo-user-book-en/references/registry/zookeeper.md b/dubbo-user-book-en/references/registry/zookeeper.md
index ee2bce3..695aa79 100644
--- a/dubbo-user-book-en/references/registry/zookeeper.md
+++ b/dubbo-user-book-en/references/registry/zookeeper.md
@@ -133,7 +133,7 @@
 
 ## Zookeeper Installation
 
-Pls. refer to [zookeeper install manual](http://dubbo.apache.org/books/dubbo-admin-book/install/zookeeper.html) for how to install zookeeper based registry server. To set it up, specify `dubbo.registry.address` to `zookeeper://127.0.0.1:2181` in `conf/dubbo.properties` for both provider and consumer (you can refer to [quick start](../../preface/usage.md)) after install a zookeeper server.
+Pls. refer to [zookeeper install manual](../../../dubbo-admin-book-en/install/zookeeper.md) for how to install zookeeper based registry server. To set it up, specify `dubbo.registry.address` to `zookeeper://127.0.0.1:2181` in `conf/dubbo.properties` for both provider and consumer (you can refer to [quick start](../../preface/usage.md)) after install a zookeeper server.
 
 ## Declaration of Reliability
 
diff --git a/dubbo-user-book-en/references/telnet.md b/dubbo-user-book-en/references/telnet.md
index c1af23d..4798fbd 100644
--- a/dubbo-user-book-en/references/telnet.md
+++ b/dubbo-user-book-en/references/telnet.md
@@ -14,12 +14,12 @@
 echo status | nc -i 1 localhost 20880
 ```
 
-It is possible to extend command `status` to check more resources, pls. refer to [extension references](http://dubbo.apache.org/books/dubbo-dev-book-en/impls/status-checker.html) for more details.
+It is possible to extend command `status` to check more resources, pls. refer to [extension references](../../dubbo-dev-book-en/impls/status-checker.md) for more details.
 
 ## Supported Commands
 
 The built-in telnet commands are listed below. Furthermore, it is possible to extend telnet commands, pls. refer to 
-[extend telnet command](http://dubbo.apache.org/books/dubbo-dev-book/impls/telnet-handler.html) for more details.
+[extend telnet command](../../dubbo-dev-book-en/impls/telnet-handler.md) for more details.
 
 ### `ls`
 
diff --git a/dubbo-user-book/demos/callback-parameter.md b/dubbo-user-book/demos/callback-parameter.md
index fbfd1e8..2da6f1a 100644
--- a/dubbo-user-book/demos/callback-parameter.md
+++ b/dubbo-user-book/demos/callback-parameter.md
@@ -1,6 +1,6 @@
 # 参数回调
 
-参数回调方式与调用本地 callback 或 listener 相同,只需要在 Spring 的配置文件中声明哪个参数是 callback 类型即可。Dubbo 将基于长连接生成反向代理,这样就可以从服务器端调用客户端逻辑 [^1]。可以参考 [dubbo 项目中的示例代码](https://github.com/apache/incubator-dubbo/tree/master/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/callback)。
+参数回调方式与调用本地 callback 或 listener 相同,只需要在 Spring 的配置文件中声明哪个参数是 callback 类型即可。Dubbo 将基于长连接生成反向代理,这样就可以从服务器端调用客户端逻辑 [^1]。可以参考 [dubbo 项目中的示例代码](https://github.com/dubbo/dubbo-samples/tree/master/dubbo-samples-callback)。
 
 #### 服务接口示例
 
diff --git a/dubbo-user-book/demos/fault-tolerent-strategy.md b/dubbo-user-book/demos/fault-tolerent-strategy.md
index 11b5a66..d00e310 100644
--- a/dubbo-user-book/demos/fault-tolerent-strategy.md
+++ b/dubbo-user-book/demos/fault-tolerent-strategy.md
@@ -14,7 +14,7 @@
 
 ## 集群容错模式
 
-可以自行扩展集群容错策略,参见:[集群扩展](http://dubbo.apache.org/books/dubbo-dev-book/impls/cluster.html)
+可以自行扩展集群容错策略,参见:[集群扩展](../../dubbo-dev-book/impls/cluster.md)
 
 ### Failover Cluster
 
diff --git a/dubbo-user-book/demos/group-merger.md b/dubbo-user-book/demos/group-merger.md
index 51ceee3..77fc951 100644
--- a/dubbo-user-book/demos/group-merger.md
+++ b/dubbo-user-book/demos/group-merger.md
@@ -2,7 +2,7 @@
 
 按组合并返回结果 [^1],比如菜单服务,接口一样,但有多种实现,用group区分,现在消费方需从每种group中调用一次返回结果,合并结果返回,这样就可以实现聚合菜单项。  
 
-相关代码可以参考 [dubbo 项目中的示例](https://github.com/apache/incubator-dubbo/tree/master/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/merge)
+相关代码可以参考 [dubbo 项目中的示例](https://github.com/dubbo/dubbo-samples/tree/master/dubbo-samples-merge)
 
 ## 配置
 
@@ -51,4 +51,4 @@
 ```
 
 [^1]: 从 `2.1.0` 版本开始支持
-[^2]: 参见:[合并结果扩展](http://dubbo.apache.org/books/dubbo-dev-book/impls/merger.html)
+[^2]: 参见:[合并结果扩展](../../dubbo-dev-book/impls/merger.md)
diff --git a/dubbo-user-book/demos/loadbalance.md b/dubbo-user-book/demos/loadbalance.md
index 21abe82..513b327 100644
--- a/dubbo-user-book/demos/loadbalance.md
+++ b/dubbo-user-book/demos/loadbalance.md
@@ -2,7 +2,7 @@
 
 在集群负载均衡时,Dubbo 提供了多种均衡策略,缺省为 `random` 随机调用。
 
-可以自行扩展负载均衡策略,参见:[负载均衡扩展](http://dubbo.apache.org/books/dubbo-dev-book/impls/load-balance.html)
+可以自行扩展负载均衡策略,参见:[负载均衡扩展](../../dubbo-dev-book/impls/load-balance.md)
 
 ## 负载均衡策略
 
diff --git a/dubbo-user-book/demos/multi-registry.md b/dubbo-user-book/demos/multi-registry.md
index c0e4a64..bc55ec7 100644
--- a/dubbo-user-book/demos/multi-registry.md
+++ b/dubbo-user-book/demos/multi-registry.md
@@ -80,5 +80,5 @@
 </beans>
 ```
 
-[^1]: 可以自行扩展注册中心,参见:[注册中心扩展](http://dubbo.apache.org/books/dubbo-dev-book/impls/registry.html)
+[^1]: 可以自行扩展注册中心,参见:[注册中心扩展](../../dubbo-dev-book/impls/registry.md)
 
diff --git a/dubbo-user-book/demos/parameter-validation.md b/dubbo-user-book/demos/parameter-validation.md
index 1a2c088..2865a85 100644
--- a/dubbo-user-book/demos/parameter-validation.md
+++ b/dubbo-user-book/demos/parameter-validation.md
@@ -179,5 +179,5 @@
 }
 ```
 
-[^1]: 自 `2.1.0` 版本开始支持, 如何使用可以参考 [dubbo 项目中的示例代码](https://github.com/apache/incubator-dubbo/tree/master/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/validation)
-[^2]: 验证方式可扩展,扩展方式参见开发者手册中的[验证扩展](http://dubbo.apache.org/books/dubbo-dev-book/impls/validation.html)
+[^1]: 自 `2.1.0` 版本开始支持, 如何使用可以参考 [dubbo 项目中的示例代码](https://github.com/dubbo/dubbo-samples/tree/master/dubbo-samples-validation)
+[^2]: 验证方式可扩展,扩展方式参见开发者手册中的[验证扩展](../../dubbo-dev-book/impls/validation.md)
diff --git a/dubbo-user-book/demos/result-cache.md b/dubbo-user-book/demos/result-cache.md
index 86b3ad4..a833189 100644
--- a/dubbo-user-book/demos/result-cache.md
+++ b/dubbo-user-book/demos/result-cache.md
@@ -8,7 +8,7 @@
 * `threadlocal` 当前线程缓存,比如一个页面渲染,用到很多 portal,每个 portal 都要去查用户信息,通过线程缓存,可以减少这种多余访问。
 * `jcache` 与 [JSR107](http://jcp.org/en/jsr/detail?id=107%27) 集成,可以桥接各种缓存实现。
 
-缓存类型可扩展,参见:[缓存扩展](http://dubbo.apache.org/books/dubbo-dev-book/impls/cache.html)
+缓存类型可扩展,参见:[缓存扩展](../../dubbo-dev-book/impls/cache.md)
 
 ## 配置
 
@@ -25,4 +25,4 @@
 ```
 
 [^1]: `2.1.0` 以上版本支持
-[^2]: [示例代码](https://github.com/apache/incubator-dubbo/tree/master/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/cache)
\ No newline at end of file
+[^2]: [示例代码](https://github.com/dubbo/dubbo-samples/tree/master/dubbo-samples-cache)
\ No newline at end of file
diff --git a/dubbo-user-book/demos/routing-rule.md b/dubbo-user-book/demos/routing-rule.md
index 94803e9..9928b16 100644
--- a/dubbo-user-book/demos/routing-rule.md
+++ b/dubbo-user-book/demos/routing-rule.md
@@ -134,6 +134,6 @@
 ```
 
 [^1]: `2.2.0` 以上版本支持
-[^2]: 路由规则扩展点:[路由扩展](http://dubbo.apache.org/books/dubbo-dev-book/impls/router.html)
+[^2]: 路由规则扩展点:[路由扩展](../../dubbo-dev-book/impls/router.md)
 [^3]: 注意:一个服务只能有一条白名单规则,否则两条规则交叉,就都被筛选掉了
 [^4]: 注意:脚本没有沙箱约束,可执行任意代码,存在后门风险
\ No newline at end of file
diff --git a/dubbo-user-book/demos/service-container.md b/dubbo-user-book/demos/service-container.md
index 75d9755..05b7f3c 100644
--- a/dubbo-user-book/demos/service-container.md
+++ b/dubbo-user-book/demos/service-container.md
@@ -4,7 +4,7 @@
 
 服务容器只是一个简单的 Main 方法,并加载一个简单的 Spring 容器,用于暴露服务。
 
-服务容器的加载内容可以扩展,内置了 spring, jetty, log4j 等加载,可通过[容器扩展点](http://dubbo.apache.org/books/dubbo-dev-book/impls/container.html)进行扩展。配置配在 java 命令的 -D 参数或者 `dubbo.properties` 中。
+服务容器的加载内容可以扩展,内置了 spring, jetty, log4j 等加载,可通过[容器扩展点](../../dubbo-dev-book/impls/container.md)进行扩展。配置配在 java 命令的 -D 参数或者 `dubbo.properties` 中。
 
 ## 容器类型
 
diff --git a/dubbo-user-book/quick-start.md b/dubbo-user-book/quick-start.md
index c254fcf..fdfb0fa 100644
--- a/dubbo-user-book/quick-start.md
+++ b/dubbo-user-book/quick-start.md
@@ -7,7 +7,7 @@
 
 ## 服务提供者
 
-完整安装步骤,请参见:[示例提供者安装](http://dubbo.apache.org/books/dubbo-admin-book/install/provider-demo.html)
+完整安装步骤,请参见:[示例提供者安装](../dubbo-admin-book/install/provider-demo.md)
 
 ### 定义服务接口
 
@@ -84,7 +84,7 @@
 
 ## 服务消费者
 
-完整安装步骤,请参见:[示例消费者安装](http://dubbo.apache.org/books/dubbo-admin-book/install/consumer-demo.html)
+完整安装步骤,请参见:[示例消费者安装](../dubbo-admin-book/install/consumer-demo.md)
 
 ### 通过 Spring 配置引用远程服务
 
diff --git a/dubbo-user-book/references/protocol/thrift.md b/dubbo-user-book/references/protocol/thrift.md
index a4d6d94..8e5853d 100644
--- a/dubbo-user-book/references/protocol/thrift.md
+++ b/dubbo-user-book/references/protocol/thrift.md
@@ -24,7 +24,7 @@
 
 ## 使用
 
-可以参考 [dubbo 项目中的示例代码](https://github.com/apache/incubator-dubbo/tree/master/dubbo-rpc/dubbo-rpc-thrift/src/test/java/com/alibaba/dubbo/rpc/protocol/thrift/examples)
+可以参考 [dubbo 项目中的示例代码](https://github.com/apache/incubator-dubbo/tree/master/dubbo-rpc/dubbo-rpc-thrift/src/test/java/org/apache/dubbo/rpc/protocol/thrift/examples)
 
 ## 常见问题
 
diff --git a/dubbo-user-book/references/registry/redis.md b/dubbo-user-book/references/registry/redis.md
index 94ae7ad..d30103f 100644
--- a/dubbo-user-book/references/registry/redis.md
+++ b/dubbo-user-book/references/registry/redis.md
@@ -67,7 +67,7 @@
 
 ## 安装
 
-安装方式参见: [Redis安装手册](http://dubbo.apache.org/books/dubbo-admin-book/install/redis.html),只需搭一个原生的 Redis 服务器,并将 [Quick Start](../../preface/usage.md) 中 Provider 和 Consumer 里的 `conf/dubbo.properties` 中的 `dubbo.registry.addrss` 的值改为 `redis://127.0.0.1:6379` 即可使用。
+安装方式参见: [Redis安装手册](../../../dubbo-admin-book/install/redis.html),只需搭一个原生的 Redis 服务器,并将 [Quick Start](../../preface/usage.md) 中 Provider 和 Consumer 里的 `conf/dubbo.properties` 中的 `dubbo.registry.addrss` 的值改为 `redis://127.0.0.1:6379` 即可使用。
 
 [^1]: [Redis](http://redis.io) 是一个高效的 KV 存储服务器
 [^2]: 从 `2.1.0` 版本开始支持
diff --git a/dubbo-user-book/references/registry/zookeeper.md b/dubbo-user-book/references/registry/zookeeper.md
index 994bf44..cc4d4a2 100644
--- a/dubbo-user-book/references/registry/zookeeper.md
+++ b/dubbo-user-book/references/registry/zookeeper.md
@@ -135,7 +135,7 @@
 
 ## zookeeper 安装
  
-安装方式参见: [Zookeeper安装手册](http://dubbo.apache.org/books/dubbo-admin-book/install/zookeeper.html),只需搭一个原生的 Zookeeper 服务器,并将 [Quick Start](../../preface/usage.md) 中 Provider 和 Consumer 里的 `conf/dubbo.properties` 中的 `dubbo.registry.addrss` 的值改为 `zookeeper://127.0.0.1:2181` 即可使用。
+安装方式参见: [Zookeeper安装手册](../../../dubbo-admin-book/install/zookeeper.md),只需搭一个原生的 Zookeeper 服务器,并将 [Quick Start](../../preface/usage.md) 中 Provider 和 Consumer 里的 `conf/dubbo.properties` 中的 `dubbo.registry.addrss` 的值改为 `zookeeper://127.0.0.1:2181` 即可使用。
 
 ## 可靠性声明
   
diff --git a/dubbo-user-book/references/telnet.md b/dubbo-user-book/references/telnet.md
index c8a7ace..9cf3d1f 100644
--- a/dubbo-user-book/references/telnet.md
+++ b/dubbo-user-book/references/telnet.md
@@ -15,11 +15,11 @@
 ```
 
 
-status命令所检查的资源也可以扩展,参见:[扩展参考手册](http://dubbo.apache.org/books/dubbo-dev-book/impls/status-checker.html)。
+status命令所检查的资源也可以扩展,参见:[扩展参考手册](../../dubbo-dev-book/impls/status-checker.md)。
 
 ## 命令
 
-以下展示了 dubbo 内建的 telnet 命令的说明和用法,此外,telnet 命令还支持用户自行扩展,参见:[Telnet 命令扩展](http://dubbo.apache.org/books/dubbo-dev-book/impls/telnet-handler.html)。
+以下展示了 dubbo 内建的 telnet 命令的说明和用法,此外,telnet 命令还支持用户自行扩展,参见:[Telnet 命令扩展](../../dubbo-dev-book/impls/telnet-handler.md)。
 
 ### `ls`