[Support Guide] Can I deploy multiple repositories in a single site?

Say you have an awesome blog as part of your larger website. But you’ve chosen to have your awesome blog in its own, separate git repository apart from the rest of your site content. How can you make this work so that your visitors have a seamless experience browsing that content as well under your one, main hostname? Proxying to the rescue!

Yes, Netlify is built around the “single code base per site” model. But this isn’t to say that you can’t host multiple repositories under a single hostname! The choice is completely yours.

I’ll describe a typical workflow for how to do this. In this example, both sites are hosted on Netlify. However, this workflow should work equally well even if the second site is not hosted on Netlify.

Let’s connect your blog with its own repository to your existing marketing site that has a totally separate code base and lives in its own repository . Your blog will live on the Marketing site (already configured as www.yoursite.com) as https://www.yoursite.com/blog in this example.

  1. Blog content should be published on its own site, but with a special caveat. You’ll want to deploy the blog as a subdirectory of the published site (that is: not in the root directory). Since you’ll browse it on https://www.yoursite.com/blog as just /blog/index.html, you’ll want to publish it under /blog/ (not just /index.html).
    So, for example, /assets/logo.png becomes /blog/assets/logo.png. References to assets should look like <img src=/blog/assets/logo.png>, without a leading hostname. You can also reference assets from the main site in this codebase as <img src=https://www.yoursite.com/assets/header.png>
    Another way to accomplish this is to make sure that all of your content has relative paths for all links within the subsite, only, like this: <img src=filename-with-no-path-and-not-starting-withslash.png>

  2. On your Marketing site, you’ll deploy the main site’s code as usual, but you’ll add some special configuration to refer to the other site using a proxy redirect. For example:
    /blog/* https://yourblogsite.netlify.com/blog/:splat 200!

  3. Test the blog site! First you should make sure you can see your blog and that all assets load appropriately. Check those assets you have embedded in the blog site as well as those referenced from the main site.

  4. Test via the redirect! Visit https://www.yoursite.com/blog and make sure that things look like you’re expecting. Assets should still load, but you’re now connecting to the Marketing site, and Netlify is reverse proxying to your second site secretly and quickly - and sending the responses back via that connection to www.yoursite.com.

How are things looking? Let us know in the comments below!

5 Likes
Is it possible to deploy multiple repositories to the same domain?
Error proxying to deploy multiple repos in single site
Forwarding subdomain to a path
Hosting two sites at one URL - status codes - monorepo
Bug in non-trailing slash rewrite
Unable to proxy a blog from a different gitlab repo (to the same custom domain)
Point one domain to 2 separate hosts
Deploy multiple netlify apps to single domain and subfolders?
Different instance for different path
301 redirect to a proxy 200 redirect
Portfolio site with subtrees
Redirect not working on a published deploy
"Another site is already using this domain" error; cannot delete old site or old domain to rectify
Hosting a Next.js website and a Hexo blog on the same domain
Does Netlify change requests from the browser during proxying?
Combine multiple git repos within the same domain, is this possible?
Need help doing a redirect/rewrite
Need help doing a redirect/rewrite
Versioned netlify deploys
Migrating access for subdirectory-based wordpress sites to Netlify
Rewrite not working as expected
6:11:00 PM: System Error
Combine multiple git repos within the same domain, is this possible?
Netlify Functions speed
How to add same domain to other sites/projects?
SubDomain redirect - How do you remove slug?
Simple question about redirects
Need help with rewrite via _reredirects file for https://coronatimemap.netlify.app
How to configure react app with a router and docusaurus app on the /docs path
Can I build two different sites from subdirectories in the same repo?