Skip to content

Instantly share code, notes, and snippets.

@henrik
Created April 18, 2009 23:15
Show Gist options
  • Save henrik/97822 to your computer and use it in GitHub Desktop.
Save henrik/97822 to your computer and use it in GitHub Desktop.
Insane mod_rewrite gymnastics for my blog setup.
RewriteEngine On
# Map http://henrik.nyh.se to /jekyll.
RewriteRule ^$ /jekyll/ [L]
# Map http://henrik.nyh.se/x to /jekyll/x unless there is a x in the web root.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/jekyll/
RewriteRule ^(.*)$ /jekyll/$1
# Add trailing slash to directories without them so DirectoryIndex works.
# This does not expose the internal URL.
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME} !/$
RewriteRule ^(.*)$ $1/
# Disable auto-adding slashes to directories without them, since this happens
# after mod_rewrite and exposes the rewritten internal URL, e.g. turning
# http://henrik.nyh.se/about into http://henrik.nyh.se/jekyll/about.
DirectorySlash off
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment