# How do I create and use a custom 404 page in my pinegrow project and local pinegrow 'server'?

**URL:** <https://forum.pinegrow.com/t/how-do-i-create-and-use-a-custom-404-page-in-my-pinegrow-project-and-local-pinegrow-server/11440>\
**Category:** Questions\
**Created:** [February 21, 2026, 8:58pm UTC](https://forum.pinegrow.com/t/how-do-i-create-and-use-a-custom-404-page-in-my-pinegrow-project-and-local-pinegrow-server/11440 "2026-02-21T20:58:43Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![TEMPEST](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.pinegrow.com/tempest/32/6851_2.png) [@TEMPEST](https://forum.pinegrow.com/u/TEMPEST)\
**Post date:** [February 21, 2026, 8:58pm UTC](https://forum.pinegrow.com/t/how-do-i-create-and-use-a-custom-404-page-in-my-pinegrow-project-and-local-pinegrow-server/11440/1 "2026-02-21T20:58:43Z")

</div>

From YouTube I believe I need to create a .htaccess file to tell the ‘server’ to use my custom 404 html page, but when I tried to use pinegrow 9 to add that file, it didn’t create anything.

Aside from 404, what are the other core error pages I need to create and how do I add those to Pinegrow project so they show up in the local pg ‘server’ too?

I’ve used VSC to create a .htaccess file with the contents:

`ErrorDocument 404 /404.html`

and I’ve saved that ‘.htaccess’ file into the root of my project’s folder.

But still, when my website goes to a wrong page on the local pg server, I get the standard pg 404 error page.

What am I doing wrong? I’ve check the Settings page in PG and there’s nothing there I can see about this.

---

<div class="post-metadata">

**Author:** ![PeteSharp](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.pinegrow.com/petesharp/32/7134_2.png) [@PeteSharp](https://forum.pinegrow.com/u/PeteSharp)\
**Post date:** [February 22, 2026, 2:16am UTC](https://forum.pinegrow.com/t/how-do-i-create-and-use-a-custom-404-page-in-my-pinegrow-project-and-local-pinegrow-server/11440/2 "2026-02-22T02:16:07Z")

</div>

You need Apache (or Litespeed) for the .htaccess errorDocument to work. It will work on your webhost if that’s what you’re using. Depends on your host setup determines how you handle 404s

---

<div class="post-metadata">

**Author:** ![TEMPEST](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.pinegrow.com/tempest/32/6851_2.png) [@TEMPEST](https://forum.pinegrow.com/u/TEMPEST)\
**Post date:** [February 22, 2026, 2:48am UTC](https://forum.pinegrow.com/t/how-do-i-create-and-use-a-custom-404-page-in-my-pinegrow-project-and-local-pinegrow-server/11440/3 "2026-02-22T02:48:06Z")

</div>

I’m not using anything other than Pinegrow at the moment.

Sorry, I thought that was clear in my question; I want to know how to use my custom 404 in pinegrow so that when I preview my ‘site’ using pinegrow’s preview button (local server) that it uses my 404 and not pinegrows.

---

<div class="post-metadata">

**Author:** ![PeteSharp](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.pinegrow.com/petesharp/32/7134_2.png) [@PeteSharp](https://forum.pinegrow.com/u/PeteSharp)\
**Post date:** [February 22, 2026, 3:09am UTC](https://forum.pinegrow.com/t/how-do-i-create-and-use-a-custom-404-page-in-my-pinegrow-project-and-local-pinegrow-server/11440/4 "2026-02-22T03:09:32Z")

</div>

Please re-read my answer.

You can see your 404.html page in local preview by just going to that page.

---

<div class="post-metadata">

**Author:** ![TEMPEST](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.pinegrow.com/tempest/32/6851_2.png) [@TEMPEST](https://forum.pinegrow.com/u/TEMPEST)\
**Post date:** [February 22, 2026, 3:34am UTC](https://forum.pinegrow.com/t/how-do-i-create-and-use-a-custom-404-page-in-my-pinegrow-project-and-local-pinegrow-server/11440/5 "2026-02-22T03:34:42Z")

</div>

You can’t see your 404 page in local preview by going to a wrong / dead link - it only shows the pinegrow one.

I’m asking how (if possible) to change that so it shows mine, or isn’t that possible at all?!

---

<div class="post-metadata">

**Author:** ![schpengle](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.pinegrow.com/schpengle/32/238_2.png) [@schpengle](https://forum.pinegrow.com/u/schpengle)\
**Post date:** [February 23, 2026, 11:39am UTC](https://forum.pinegrow.com/t/how-do-i-create-and-use-a-custom-404-page-in-my-pinegrow-project-and-local-pinegrow-server/11440/6 "2026-02-23T11:39:46Z")

</div>

HI @TEMPEST  
Im not sure if pinegrow adheres to the whole .htaccess thing.

I think it just runs a basic internal webserver which polls the PG app, in order to display the projects working pages in real time so you can see changes in the browser as you make them in PG.

I did check out the creation of the page though and even though you can create the .htaccess flle in PG,

AND add to the file types editable in the PG settings, it still doesnt show up as file in the PG project view.  
as per

> [@Please Help! Hide extension name not possible htaccess file not visible](https://forum.pinegrow.com/t/please-help-hide-extension-name-not-possible-htaccess-file-not-visible/5725/5):
>
> @AllMediaLab to make files without extension editable in PG, add NOEXT to the list of editable files: Static website hosting such as Netlify (we use them for our main site) usually strip out .html extensions from pages. Re FTP access, I strongly feel that it is a dangerous way of uploading files to the server. So easy to make a mistake, especially if clients are doing it. It is better to setup some kind of GIT-backed flow and setup an icon on the desktop that will push changes. In…

I’m not sure if that is because any file starting with a “.” is by default a hidden file on Mac OS, I dont know.

That is a topic for the devs to answer.  
Ok, cheerio

---

<div class="post-metadata">

**Author:** ![PeteSharp](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.pinegrow.com/petesharp/32/7134_2.png) [@PeteSharp](https://forum.pinegrow.com/u/PeteSharp)\
**Post date:** [February 23, 2026, 4:45pm UTC](https://forum.pinegrow.com/t/how-do-i-create-and-use-a-custom-404-page-in-my-pinegrow-project-and-local-pinegrow-server/11440/7 "2026-02-23T16:45:59Z")

</div>

As I said, htaccess errorDocument requires an Apache or compatible ie litespeed environment for that to work. If you want that working locally you need to set it up, something like localWP, MAMP etc.

If you want to preview your 404 page, just visit the page url, ie /404.html.
