How to make your Blog Appear in a Non-Root Folder?
Suppose you have WordPress running at http://example.com/. Also, suppose that you want your blog to be located at http://example.com/blog/ and that you want other pages to be available at http://example.com/page1/.
You need to create a home page. You can do this by creating home.php in your theme directory. Next, create a blog template by creating a file named blog.php with the following contents in your theme directory:
1) Log in to WordPress and create a page named “Blog” with Template “blog”. You’re done.
2) update your permalinks structure to begin with “/blog/”, i.e., “/blog/%year%/%monthnum%/%postname%/”.