by Sai gowtham

How to redirect to external URL in Vue

In this tutorial, we are going to learn about how to redirect to an external URL in the Vue Router.

Normally, we redirect a user to a different page on the same site by using the following method:

this.$router.push("/about");

Redirecting to external URL

Suppose we have a /contact route in our vue app, when a user visits the /contact page we need to redirect them to an external url https://www.google.com/contact/ instead of the same domain redirect.

To redirect to an external url in Vue, we can use the window.location.href property.

Here is an example:

Contact.js
<template>
  <div>
    <h1>Contact Page</h1>
  </div>
</template>
<script>

export default {

  created() {
    window.location.href = "https://google.com/contact";
  },

};
</script>

In the above code, we have added a window.location.href = "https://google.com/contact" inside the created() lifecyle hook.

Now, if a user tries to visit the /contact page he or she will be redirected to https://google.com/contact.

Similarly, we can also set a redirect to an external url inside the route object by using the beforeEnter route guard.

{
    path: "/contact",
    component: Contact,
    beforeEnter(to, from, next) {
      window.location.href = "https://google.com/contact";
    }
}

Top Udemy Courses

JavaScript - The Complete Guide 2020 (Beginner + Advanced)
JavaScript - The Complete Guide 2020 (Beginner + Advanced)
45,614 students enrolled
52 hours of video content
View Course
React - The Complete Guide (incl Hooks, React Router, Redux)
React - The Complete Guide (incl Hooks, React Router, Redux)
284,472 students enrolled
40 hours of video content
View Course
Vue - The Complete Guide (w/ Router, Vuex, Composition API)
Vue - The Complete Guide (w/ Router, Vuex, Composition API)
130,921 students enrolled
48.5 hours of video content
View Course