Apache .htaccess

From HaFrWiki
Revision as of 12:15, 2 October 2018 by Hjmf (talk | contribs)
Jump to: navigation, search

The Apache Webserver file .htaccess is a powerful tool for managing the access and navigation to your webserver.
Unfortunately, the working is not very intuitive and not very simple.

There are many websites that tell they do understand/know htaccess, but little is true.
I do not pretend to know/understand htaccess, but I have some useful tips tricks.
Please review them carefully and let me know what you think.

This website uses several references, such as

  • Queness.com useful htaccess tricks and tips [1],
  • the Apache Docs on htaccess [2].
  • and more ...

Examples

Prevent PHP-Directory Access

The usage of a special PHP-include directory is a common implementation paradigm.
But you don't want anyone to have access to that directory except the program/application. This snippet prevents the access to the directory file with extension php.

<syntaxhighlight lang="bash" line>

    1. Enable Mod Rewrite, this is only required once in each .htaccess file

RewriteEngine On RewriteBase /

    1. Test for access to the include directory

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /phpinclude/.*$ [NC]

    1. Test that file requested has php extension

RewriteCond %{REQUEST_FILENAME} ^.+\.php$

    1. Forbid Access

RewriteRule .* - [F,NS,L] </syntaxhighlight>

  • Line 01-03: Needs to be set once and enables the RewriteCond and RewriteRule.
  • Line 05-06: Tests case insensitive ([NC]=No Case) if the directory is ../phpinclude at the end ($).
  • Line 08-09: Tests if the file name has the extension .php at the end ($).
  • Line 11-12: Forbids access to the found file.
    • F: Returns a 403 FORBIDDEN response to the client browser.
    • NS: Causes a rule to be skipped if the current request is an internal sub-request.
    • L: Stop the rewriting process immediately and don't apply any more rules.

Source: https://httpd.apache.org/docs/current/mod/mod_rewrite.html [2]

See also

top

Reference

top

  1. Queness htaccess, Queness.com htaccess post Tips and Tricks.
  2. 2.0 2.1 Apache Docs, Description mod_rewrite module: Rewrite(s) condition and rules.