diff --git a/docs/ru/guide/advanced/data-fetching.md b/docs/ru/guide/advanced/data-fetching.md
index b8786bc44..c0582cd04 100644
--- a/docs/ru/guide/advanced/data-fetching.md
+++ b/docs/ru/guide/advanced/data-fetching.md
@@ -35,24 +35,24 @@
 
 ```js
 export default {
-  data () {
+  data() {
     return {
       loading: false,
       post: null,
       error: null
     }
   },
-  created () {
+  created() {
     // загружаем данные, когда представление создано
     // и данные реактивно отслеживаются
     this.fetchData()
   },
   watch: {
     // при изменениях маршрута запрашиваем данные снова
-    '$route': 'fetchData'
+    $route: 'fetchData'
   },
   methods: {
-    fetchData () {
+    fetchData() {
       this.error = this.post = null
       this.loading = true
       // замените `getPost` используемым методом получения данных / доступа к API
diff --git a/docs/ru/guide/advanced/navigation-guards.md b/docs/ru/guide/advanced/navigation-guards.md
index f0ccf8adb..e5555d2e3 100644
--- a/docs/ru/guide/advanced/navigation-guards.md
+++ b/docs/ru/guide/advanced/navigation-guards.md
@@ -34,7 +34,24 @@ router.beforeEach((to, from, next) => {
 
   - **`next(error)`**: (добавлено в версии 2.4.0+) если аргумент, переданный `next` является экземпляром `Error`, навигация будет прервана и ошибка будет передана в коллбэк, зарегистрированный через [`router.onError()`](../../api/#router-onerror).
 
-**Убедитесь, что функция `next` будет вызвана, иначе хук никогда не будет разрешён.**
+**Убедитесь, что функция `next` будет вызываться в навигационном хуке только 1 раз в любом случае. Вызовы могут встречаться несколько раз, но важно чтобы они не пересекались логически, иначе хук никогда не разрешится или выдаст ошибки.** Вот пример перенаправления пользователя на страницу `/login` если он не авторизован:
+
+```js
+// ПЛОХО
+router.beforeEach((to, from, next) => {
+  if (!isAuthenticated) next('/login')
+  // если пользователь не авторизован, то `next` будет вызываться дважды
+  next()
+})
+```
+
+```js
+// ХОРОШО
+router.beforeEach((to, from, next) => {
+  if (!isAuthenticated) next('/login')
+  else next()
+})
+```
 
 ## Глобальные хуки разрешения перехода
 
@@ -139,7 +156,7 @@ beforeRouteLeave (to, from, next) {
 ## Полная цепочка обработки навигации
 
 1. Срабатывание навигации.
-2. Вызов leave-хуков в деактивируемых компонентах.
+2. Вызов `beforeRouteLeave` хуков в деактивируемых компонентах.
 3. Вызов глобальных `beforeEach` хуков.
 4. Вызов `beforeRouteUpdate` хука в переиспользуемых компонентах.
 5. Вызов `beforeEnter` в конфигурации маршрута.
diff --git a/docs/ru/guide/advanced/transitions.md b/docs/ru/guide/advanced/transitions.md
index b88bb068c..1adf3cf2a 100644
--- a/docs/ru/guide/advanced/transitions.md
+++ b/docs/ru/guide/advanced/transitions.md
@@ -47,7 +47,7 @@ const Bar = {
 // затем, в родительском компоненте, будем следить за переменной `$route`,
 // чтобы определить, какой анимационный переход применять
 watch: {
-  '$route' (to, from) {
+  $route(to, from) {
     const toDepth = to.path.split('/').length
     const fromDepth = from.path.split('/').length
     this.transitionName = toDepth < fromDepth ? 'slide-right' : 'slide-left'
diff --git a/docs/ru/guide/essentials/dynamic-matching.md b/docs/ru/guide/essentials/dynamic-matching.md
index f0f0e76ca..3e86a5925 100644
--- a/docs/ru/guide/essentials/dynamic-matching.md
+++ b/docs/ru/guide/essentials/dynamic-matching.md
@@ -46,7 +46,7 @@ const User = {
 const User = {
   template: '...',
   watch: {
-    '$route' (to, from) {
+    $route(to, from) {
       // обрабатываем изменение параметров маршрута...
     }
   }
diff --git a/docs/ru/guide/essentials/history-mode.md b/docs/ru/guide/essentials/history-mode.md
index 1128c3b79..0f42bf028 100644
--- a/docs/ru/guide/essentials/history-mode.md
+++ b/docs/ru/guide/essentials/history-mode.md
@@ -19,6 +19,8 @@ const router = new VueRouter({
 
 ## Примеры конфигурирования серверов
 
+**Примечание**: В примерах ниже предполагается, что приложение публикуется в корневой каталог. При необходимости публикации во вложенный каталог нужно определить [опцию `publicPath` в Vue CLI](https://cli.vuejs.org/ru/config/#publicpath) и соответствующее [свойство маршрутизатора `base`](../../api/#base). Также необходимо внести изменения в примерах ниже чтобы использовать вложенный каталог вместо корневого (например, заменить `RewriteBase /` на `RewriteBase /name-of-your-subfolder/`).
+
 #### Apache
 
 ```apache
diff --git a/docs/ru/guide/essentials/redirect-and-alias.md b/docs/ru/guide/essentials/redirect-and-alias.md
index bcd7c5758..630b82ae0 100644
--- a/docs/ru/guide/essentials/redirect-and-alias.md
+++ b/docs/ru/guide/essentials/redirect-and-alias.md
@@ -35,7 +35,7 @@ const router = new VueRouter({
 })
 ```
 
-Обратите внимание, что [навигационные хуки](../advanced/navigation-guards.md) не применяются на маршруте, который служит для перенаправления, только на его цель. В приведённом ниже примере добавление хуков `beforeEnter` или `beforeLeave` на маршрут `/a` не будет иметь никакого эффекта.
+Обратите внимание, что [навигационные хуки](../advanced/navigation-guards.md) не применяются на маршруте, который служит для перенаправления, только на его цель. В приведённом ниже примере добавление хуков `beforeEnter` на маршрут `/a` не будет иметь никакого эффекта.
 
 Для демонстрации более сложных возможностей, обратите внимание на [этот пример](https://github.com/vuejs/vue-router/blob/dev/examples/redirect/app.js).