diff options
Diffstat (limited to 'content/nginx-tweaks.md')
| -rw-r--r-- | content/nginx-tweaks.md | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/content/nginx-tweaks.md b/content/nginx-tweaks.md new file mode 100644 index 0000000..8e85af5 --- /dev/null +++ b/content/nginx-tweaks.md @@ -0,0 +1,45 @@ +--- +title: "Nginx Tweaks" +date: 2022-06-16 +--- + +The point of this article is to show you how to do some commonly-desired tweaks +in Nginx while in the meantime helping you understand how it works. + +## Do not require `.html` in URLs + +If your website is using lots of `.html` files for pages, it\'s sort of +overkill to make people type that in for every page they are looking for. We +can remove that requirement with Nginx. + +Open your site\'s configuration file in `/etc/nginx/sites-enabled/` and within +the `server` block, there should be a `location` block that looks something +like this if you have followed [the guide here](/basic/nginx). + +```nginx +location / { + try_files $uri $uri/ =404 ; +} +``` + +What this means is that in the file location of `/`, i.e. anywhere and +everywhere in the root file system, We will look for the three things listed in +`try_files` in that order: + +1. `$uri`: a file that directly matches the content added after the domain. +2. `$uri/`: a *directory* that directly matches the content added after the + domain. +3. `=404`: if neither of those is found, we give a 404 error, which as you + probably know, signified \"Page not found.\" + +We will now change the content inside the `location` block to the below: + +```nginx +location / { + if ($request_uri ~ ^/(.*)\.html$) { return 302 /$1; } + try_files $uri $uri.html $uri/ =404 ; +} +``` + +`$1` here refers to the first content in the parentheses `()` in the preceeding +regular expression. |
