aboutsummaryrefslogtreecommitdiff
path: root/content/blog/2022-12-07-nginx-wildcard-redirect.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/blog/2022-12-07-nginx-wildcard-redirect.md')
-rw-r--r--content/blog/2022-12-07-nginx-wildcard-redirect.md62
1 files changed, 29 insertions, 33 deletions
diff --git a/content/blog/2022-12-07-nginx-wildcard-redirect.md b/content/blog/2022-12-07-nginx-wildcard-redirect.md
index c2ef747..e8339b9 100644
--- a/content/blog/2022-12-07-nginx-wildcard-redirect.md
+++ b/content/blog/2022-12-07-nginx-wildcard-redirect.md
@@ -7,18 +7,18 @@ draft = false
# Problem
-I recently migrated domains and replaced the old webpage with a simple
-info page with instructions to users on how to edit their bookmarks and
-URLs to get to the page they were seeking.
+I recently migrated domains and replaced the old webpage with a simple info page
+with instructions to users on how to edit their bookmarks and URLs to get to the
+page they were seeking.
-This was not ideal as it left the work up to the user and may have
-caused friction for users who accessed my RSS feed.
+This was not ideal as it left the work up to the user and may have caused
+friction for users who accessed my RSS feed.
# Solution
-Instead, I finally found a solution that allows me to redirect both
-subdomains AND trailing content. For example, both of these URLs now
-redirect properly using the logic I\'ll explain below:
+Instead, I finally found a solution that allows me to redirect both subdomains
+AND trailing content. For example, both of these URLs now redirect properly
+using the logic I'll explain below:
``` txt
# Example 1 - Simple base domain redirect with trailing content
@@ -34,15 +34,15 @@ Go ahead, try the URLs if you want to test them.
## Nginx Config
-To make this possible. I needed to configure a proper redirect scheme in
-my Nginx configuration.
+To make this possible. I needed to configure a proper redirect scheme in my
+Nginx configuration.
```sh
doas nano /etc/nginx/http.d/domain1.conf
```
-Within this file, I had one block configured to redirect HTTP requests
-to HTTPS for the base domain and all subdomains.
+Within this file, I had one block configured to redirect HTTP requests to HTTPS
+for the base domain and all subdomains.
``` conf
server {
@@ -62,10 +62,9 @@ server {
}
```
-For the base domain, I have another `server` block dedicated
-to redirecting all base domain requests. You can see that the
-`rewrite` line is instructing Nginx to gather all trailing
-content and append it to the new `domain2.com` URL.
+For the base domain, I have another `server` block dedicated to redirecting all
+base domain requests. You can see that the `rewrite` line is instructing Nginx
+to gather all trailing content and append it to the new `domain2.com` URL.
``` conf
server {
@@ -81,19 +80,16 @@ server {
}
```
-Finally, the tricky part is figuring out how to tell Nginx to redirect
-while keeping both a subdomain and trailing content intact. I found that
-the easiest way to do this is to give it a `server` block of
-its own.
+Finally, the tricky part is figuring out how to tell Nginx to redirect while
+keeping both a subdomain and trailing content intact. I found that the easiest
+way to do this is to give it a `server` block of its own.
-Within this block, we need to do some regex on the
-`server_name` line before we can rewrite anything. This
-creates a variable called `subdomain`.
+Within this block, we need to do some regex on the `server_name` line before we
+can rewrite anything. This creates a variable called `subdomain`.
-Once the server gets to the `rewrite` line, it pulls the
-`subdomain` variable from above and uses it on the new
-`domain2.com` domain before appending the trailing content
-(`$request_uri`).
+Once the server gets to the `rewrite` line, it pulls the `subdomain` variable
+from above and uses it on the new `domain2.com` domain before appending the
+trailing content (`$request_uri`).
``` conf
server {
@@ -109,15 +105,15 @@ server {
}
```
-That\'s all there is to it. With this, I simply restarted Nginx and
-watched the redirections work in-action.
+That's all there is to it. With this, I simply restarted Nginx and watched the
+redirections work in-action.
```sh
doas rc-service nginx restart
```
-Looking back on it, I wish I had done this sooner. Who knows how many
-people went looking for my sites or bookmarks and gave up when they saw
-the redirect instructions page.
+Looking back on it, I wish I had done this sooner. Who knows how many people
+went looking for my sites or bookmarks and gave up when they saw the redirect
+instructions page.
-Oh well, it\'s done now. Live and learn.
+Oh well, it's done now. Live and learn.