Skip to content

Instantly share code, notes, and snippets.

@fenda
Last active June 6, 2023 13:27
Show Gist options
  • Save fenda/8679492 to your computer and use it in GitHub Desktop.
Save fenda/8679492 to your computer and use it in GitHub Desktop.
remove file extension from url
# The following will allow you to use URLs such as the following:
#
# example.com/link
# example.com/link/
#
# Which will actually serve files such as the following:
#
# example.com/link.html
# example.com/link.php
#
# But *only if they exist*, otherwise it will report the usual 404 error.
Options +FollowSymLinks
RewriteEngine On
# Remove trailing slashes.
# e.g. example.com/foo/ will redirect to example.com/foo
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ /$1 [R=permanent,QSA]
# Redirect to HTML if it exists.
# e.g. example.com/foo will display the contents of example.com/foo.html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.+)$ $1.html [L,QSA]
# Redirect to PHP if it exists.
# e.g. example.com/foo will display the contents of example.com/foo.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+)$ $1.php [L,QSA]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment