Skip to content

jaysparmar/next-htaccess-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Node .htaccess Generator

This project simplifies the process of creating an .htaccess file for Apache web servers using Node.js. It is specifically designed for Next.js projects but can be adapted for other static site generators as well. The .htaccess file generated by this tool enables clean and SEO-friendly URLs for your static website.

Installation

To install the package as a development dependency, run the following command in your terminal:

npm install next-htaccess-generator --save-dev

Configuration

Before using the generator, you need to configure it by creating a jay.config.json file at the root of your project folder. This file should contain the following properties:

{
  "buildPath": "./out",
  "include404": false,
  "outputPath": "out"
}
  • buildPath: Specifies the directory where your Next.js static build is located (e.g., ./out).
  • include404: A boolean value indicating whether to include rewrite rules for 404 pages. Set it to false if you want to exclude 404 pages.
  • outputPath: Defines the path where the generated .htaccess file should be saved.

Usage

After configuring the jay.config.json file, you can add a script to your package.json to generate the .htaccess file:

"scripts": {
  "build-htaccess": "next-htaccess-generator build"
}

To generate the .htaccess file, run the following command:

npm run build-htaccess

This command scans the directory specified in buildPath for HTML files, generates URL rewrite rules for each file, and saves them to the outputPath directory.

How it Works

The generator script follows these steps:

  1. Reads the configuration from the jay.config.json file.
  2. Recursively scans the specified buildPath directory and collects all HTML file paths.
  3. Generates Apache URL rewrite rules for each HTML file.
  4. Optionally adds a catch-all rule to redirect unmatched URLs (unless include404 is set to true).
  5. Writes the generated rules to an .htaccess file in the specified outputPath directory.

The resulting .htaccess file can be placed in the root directory of your Apache web server, enabling clean and SEO-friendly URLs for your Next.js static build.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published