I was going through some backups from years ago, and ran:
locate .htaccess | xargs -I'{}' cat '{}' >> master-htaccesser.txt
My site is named after reading source code because that is what helps me the most when I'm trying to learn something unusually difficult. Just like functions and aliases, it is very helpful to have cheatsheets for common commands.. not much is better than real-world examples. Unfortunately because this was compiled from hundreds of htaccess files on multiple hosts and platforms, and due to the concatenation, it's not organized.
Normally I would not publish something like this, who knows how much unreleased tricks I forgot about.. but in order to say thanks to all those working for open-source, the FSF, and to all those who don't steal content, and to all the incredible authors who shared with me (I twitter most of what I find, and follow my favs), here ya go..
ATTN: Please let me know if this is total junk or not, this is around 1/500th of my master-htaccesser.txt file.. and I'd be happy to post more if it helps..
Used this to stop mp3-scrapers.. checks for a cookie ending in MP3P=02357
Options -Indexes RewriteEngine On RewriteCond %{HTTP_COOKIE} !^.*MP3P=([0-9]+).* [NC] RewriteRule .* - [F,L]
This deserves a note.. this trick lets you bypass so many hosting environment restrictions it's not even funny... like you can run bash as your webserver instead of apache! (kinda...)
RewriteCond %{REQUEST_URI} ^/cgi-bin/(hash|java).cgi$ [NC] RewriteCond %{HTTP:P3P} ^(([^:]+):(.+))$ [NC] RewriteRule .* - [E=HTTP_JS:%{HTTP:P3P},E=HTTP_US:%2,E=HTTP_PA:%3]
RewriteEngine On RewriteRule "\.(gif|png|jpg)$" "-" [ENV=proxied_image:1] RewriteCond "%{ENV:proxied_image}" "!1" RewriteRule "^" "-" [ENV=proxied_other:1]
Options SymLinksIfOwnerMatch IncludesNOEXEC AddOutputFilter Includes html SetEnv nokeepalive Order Allow,Deny Allow from all # 1 YEAR Header unset Pragma FileETag None Header set Cache-Control "public" Header set Expires "Thu, 15 Apr 2010 20:00:00 GMT" Header unset Last-Modified Header unset Last-Modified Header unset ETag SetOutputFilter DEFLATE Header set Cache-Control "public" Header set Expires "Thu, 15 Apr 2010 20:00:00 GMT" SecFilterEngine Off # 1 YEAR Header unset Pragma FileETag None Header set Cache-Control "public" Header set Expires "Thu, 15 Apr 2010 20:00:00 GMT" Header unset Last-Modified Header unset Last-Modified Header unset ETag SetOutputFilter DEFLATE Header set Cache-Control "public" Header set Expires "Thu, 15 Apr 2010 20:00:00 GMT"
Order Deny,Allow Deny from All Satisfy Any AuthType Digest AuthName "Protected By AskApache" AuthDigestDomain / https://www.askapache.com/ AuthDigestFile /web/.greer/askapache/sites/askapache.com/.htpasswda3 Require valid-user Allow from All SecFilterEngine Off Allow from All ErrorDocument 401 /wp-content/askapache/test.gif ErrorDocument 403 /wp-content/askapache/test.gif ErrorDocument 404 /wp-content/askapache/test.gif ErrorDocument 500 /wp-content/askapache/test.gif ServerSignature On RedirectMatch 305 ^.*modaliastest$ https://www.askapache.com RewriteEngine On RewriteBase / RewriteCond %{QUERY_STRING} modrewritetest [NC] RewriteRule .* https://www.askapache.com [R=307,L] SetEnv MODSEC_ENABLE On SecFilterEngine On SecFilterDefaultAction "nolog,noauditlog,pass" SecAuditEngine Off SecFilterInheritance Off SecFilter modsecuritytest "deny,nolog,noauditlog,status:503" Deny from All AuthType Basic AuthName "askapache test" AuthUserFile /web/.greer/askapache/sites/askapache.com/htdocs/wp-content/askapache/.htpasswd-basic Require valid-user AuthType Digest AuthName "askapache test" AuthDigestDomain /wp-content/askapache/ https://www.askapache.com/wp-content/askapache/ AuthUserFile /web/.greer/askapache/sites/askapache.com/htdocs/wp-content/askapache/.htpasswd-digest Require none AuthType Digest AuthName "askapache test" AuthDigestDomain /wp-content/askapache/ https://www.askapache.com/wp-content/askapache/ AuthUserFile /web/.greer/askapache/sites/askapache.com/htdocs/wp-content/askapache/.htpasswd-digest Require valid-user AuthType Digest AuthName "askapache test" AuthDigestDomain /wp-content/askapache/ https://www.askapache.com/wp-content/askapache/ AuthDigestFile /web/.greer/askapache/sites/askapache.com/htdocs/wp-content/askapache/.htpasswd-digest Require valid-user
Options +ExecCGI Order Deny,Allow Deny from All Allow from 208.113.134.190 env=REDIRECT_STATUS Satisfy Any Options +FollowSymLinks AddHandler application/x-httpd-php .php RewriteEngine On RewriteBase / RewriteCond %{QUERY_STRING} !^tyy+$ [NC] RewriteCond %{REMOTE_USER} ^(.+)$ RewriteRule ^(.*)$ $1/-%1 [R=302,L] Options +ExecCGI +FollowSymLinks DirectoryIndex index.php ErrorDocument 404 /cgi-bin/pro/index.php AuthType Digest AuthName "AskApache Pro" AuthDigestFile /web/askapache/sites/askapache.com/.htpasswd-pro AuthDigestDomain /cgi-bin/pro/ https://www.askapache.com/cgi-bin/pro/ https://www.askapache.com/cgi-bin/pro/ Require user askapacheDirectoryIndex p.php ErrorDocument 403 /cgi-bin/p/p.php ErrorDocument 401 /cgi-bin/p/p.php ErrorDocument 500 /cgi-bin/p/p.php ErrorDocument 503 /cgi-bin/p/p.php RewriteEngine On RewriteBase / RewriteRule .* - [E=INFO_API_VERSION:%{API_VERSION}] RewriteRule .* - [E=INFO_AUTH_TYPE:%{AUTH_TYPE}] RewriteRule .* - [E=INFO_CONTENT_LENGTH:%{CONTENT_LENGTH}] RewriteRule .* - [E=INFO_CONTENT_TYPE:%{CONTENT_TYPE}] RewriteRule .* - [E=INFO_DOCUMENT_ROOT:%{DOCUMENT_ROOT}] RewriteRule .* - [E=INFO_GATEWAY_INTERFACE:%{GATEWAY_INTERFACE}] RewriteRule .* - [E=INFO_HTTPS:%{HTTPS}] RewriteRule .* - [E=INFO_HTTP_ACCEPT:%{HTTP:Accept}] RewriteRule .* - [E=INFO_HTTP_ACCEPT_LANGUAGE:%{HTTP:Accept-Language}] RewriteRule .* - [E=INFO_HTTP_ACCEPT_ENCODING:%{HTTP:Accept-Encoding}] RewriteRule .* - [E=INFO_HTTP_ACCEPT_CHARSET:%{HTTP:Accept-Charset}] RewriteRule .* - [E=INFO_HTTP_CACHE_CONTROL:%{HTTP:Cache-Control}] RewriteRule .* - [E=INFO_HTTP_CONNECTION:%{HTTP:Connection}] RewriteRule .* - [E=INFO_HTTP_COOKIE:%{HTTP_COOKIE}] RewriteRule .* - [E=INFO_HTTP_FORWARDED:%{HTTP_FORWARDED}] RewriteRule .* - [E=INFO_HTTP_HOST:%{HTTP_HOST}] RewriteRule .* - [E=INFO_HTTP_KEEP_ALIVE:%{HTTP_KEEP_ALIVE}] RewriteRule .* - [E=INFO_HTTP_PROXY_CONNECTION:%{HTTP_PROXY_CONNECTION}] RewriteRule .* - [E=INFO_HTTP_REFERER:%{HTTP:Referer}] RewriteRule .* - [E=INFO_HTTP_USER_AGENT:%{HTTP_USER_AGENT}] RewriteRule .* - [E=INFO_IS_SUBREQ:%{IS_SUBREQ}] RewriteRule .* - [E=INFO_ORIG_PATH_INFO:%{ORIG_PATH_INFO}] RewriteRule .* - [E=INFO_ORIG_PATH_TRANSLATED:%{ORIG_PATH_TRANSLATED}] RewriteRule .* - [E=INFO_ORIG_SCRIPT_FILENAME:%{ORIG_SCRIPT_FILENAME}] RewriteRule .* - [E=INFO_ORIG_SCRIPT_NAME:%{ORIG_SCRIPT_NAME}] RewriteRule .* - [E=INFO_PATH:%{PATH}] RewriteRule .* - [E=INFO_PATH_INFO:%{PATH_INFO}] RewriteRule .* - [E=INFO_QUERY_STRING:%{QUERY_STRING}] RewriteRule .* - [E=INFO_REDIRECT_QUERY_STRING:%{REDIRECT_QUERY_STRING}] RewriteRule .* - [E=INFO_REDIRECT_REMOTE_USER:%{REDIRECT_REMOTE_USER}] RewriteRule .* - [E=INFO_REDIRECT_STATUS:%{REDIRECT_STATUS}] RewriteRule .* - [E=INFO_REDIRECT_URL:%{REDIRECT_URL}] RewriteRule .* - [E=INFO_REMOTE_ADDR:%{REMOTE_ADDR}] RewriteRule .* - [E=INFO_REMOTE_HOST:%{REMOTE_HOST}] RewriteRule .* - [E=INFO_REMOTE_IDENT:%{REMOTE_IDENT}] RewriteRule .* - [E=INFO_REMOTE_PORT:%{REMOTE_PORT}] RewriteRule .* - [E=INFO_REMOTE_USER:%{REMOTE_USER}] RewriteRule .* - [E=INFO_REQUEST_FILENAME:%{REQUEST_FILENAME}] RewriteRule .* - [E=INFO_REQUEST_METHOD:%{REQUEST_METHOD}] RewriteRule .* - [E=INFO_REQUEST_URI:%{REQUEST_URI}] RewriteRule .* - [E=INFO_REDIRECT_REQUEST_URI:%{REDIRECT_REQUEST_URI}] RewriteRule .* - [E=INFO_SCRIPT_FILENAME:%{SCRIPT_FILENAME}] RewriteRule .* - [E=INFO_SCRIPT_GROUP:%{SCRIPT_GROUP}] RewriteRule .* - [E=INFO_SCRIPT_NAME:%{SCRIPT_NAME}] RewriteRule .* - [E=INFO_SCRIPT_URI:%{SCRIPT_URI}] RewriteRule .* - [E=INFO_SCRIPT_URL:%{SCRIPT_URL}] RewriteRule .* - [E=INFO_SCRIPT_USER:%{SCRIPT_USER}] RewriteRule .* - [E=INFO_SERVER_ADDR:%{SERVER_ADDR}] RewriteRule .* - [E=INFO_SERVER_ADMIN:%{SERVER_ADMIN}] RewriteRule .* - [E=INFO_SERVER_NAME:%{SERVER_NAME}] RewriteRule .* - [E=INFO_SERVER_PORT:%{SERVER_PORT}] RewriteRule .* - [E=INFO_SERVER_PROTOCOL:%{SERVER_PROTOCOL}] RewriteRule .* - [E=INFO_SERVER_SIGNATURE:%{SERVER_SIGNATURE}] RewriteRule .* - [E=INFO_SERVER_SOFTWARE:%{SERVER_SOFTWARE}] RewriteRule .* - [E=INFO_THE_REQUEST:%{THE_REQUEST}] RewriteRule .* - [E=INFO_TIME:%{TIME}] RewriteRule .* - [E=INFO_TIME_DAY:%{TIME_DAY}] RewriteRule .* - [E=INFO_TIME_HOUR:%{TIME_HOUR}] RewriteRule .* - [E=INFO_TIME_MIN:%{TIME_MIN}] RewriteRule .* - [E=INFO_TIME_MON:%{TIME_MON}] RewriteRule .* - [E=INFO_TIME_SEC:%{TIME_SEC}] RewriteRule .* - [E=INFO_TIME_WDAY:%{TIME_WDAY}] RewriteRule .* - [E=INFO_TIME_YEAR:%{TIME_YEAR}] RewriteRule .* - [E=INFO_TZ:%{TZ}] RewriteRule .* - [E=INFO_UNIQUE_ID:%{UNIQUE_ID}] RequestHeader set INFO_API_VERSION "%{INFO_API_VERSION}e" RequestHeader set INFO_AUTH_TYPE "%{INFO_AUTH_TYPE}e" RequestHeader set INFO_CONTENT_LENGTH "%{INFO_CONTENT_LENGTH}e" RequestHeader set INFO_CONTENT_TYPE "%{INFO_CONTENT_TYPE}e" RequestHeader set INFO_DOCUMENT_ROOT "%{INFO_DOCUMENT_ROOT}e" RequestHeader set INFO_GATEWAY_INTERFACE "%{INFO_GATEWAY_INTERFACE}e" RequestHeader set INFO_HTTPS "%{INFO_HTTPS}e" RequestHeader set INFO_HTTP_ACCEPT "%{INFO_HTTP_ACCEPT}e" RequestHeader set INFO_HTTP_ACCEPT_LANGUAGE "%{INFO_HTTP_ACCEPT_LANGUAGE}e" RequestHeader set INFO_HTTP_ACCEPT_ENCODING "%{INFO_HTTP_ACCEPT_ENCODING}e" RequestHeader set INFO_HTTP_ACCEPT_CHARSET "%{INFO_HTTP_ACCEPT_CHARSET}e" RequestHeader set INFO_HTTP_CACHE_CONTROL "%{INFO_HTTP_CACHE_CONTROL}e" RequestHeader set INFO_HTTP_CONNECTION "%{INFO_HTTP_CONNECTION}e" RequestHeader set INFO_HTTP_COOKIE "%{INFO_HTTP_COOKIE}e" RequestHeader set INFO_HTTP_FORWARDED "%{INFO_HTTP_FORWARDED}e" RequestHeader set INFO_HTTP_HOST "%{INFO_HTTP_HOST}e" RequestHeader set INFO_HTTP_KEEP_ALIVE "%{INFO_HTTP_KEEP_ALIVE}e" RequestHeader set INFO_HTTP_PROXY_CONNECTION "%{INFO_HTTP_PROXY_CONNECTION}e" RequestHeader set INFO_HTTP_REFERER "%{INFO_HTTP_REFERER}e" RequestHeader set INFO_HTTP_USER_AGENT "%{INFO_HTTP_USER_AGENT}e" RequestHeader set INFO_IS_SUBREQ "%{INFO_IS_SUBREQ}e" RequestHeader set INFO_ORIG_PATH_INFO "%{INFO_ORIG_PATH_INFO}e" RequestHeader set INFO_ORIG_PATH_TRANSLATED "%{INFO_ORIG_PATH_TRANSLATED}e" RequestHeader set INFO_ORIG_SCRIPT_FILENAME "%{INFO_ORIG_SCRIPT_FILENAME}e" RequestHeader set INFO_ORIG_SCRIPT_NAME "%{INFO_ORIG_SCRIPT_NAME}e" RequestHeader set INFO_PATH "%{INFO_PATH}e" RequestHeader set INFO_PATH_INFO "%{INFO_PATH_INFO}e" RequestHeader set INFO_QUERY_STRING "%{INFO_QUERY_STRING}e" RequestHeader set INFO_REDIRECT_QUERY_STRING "%{INFO_REDIRECT_QUERY_STRING}e" RequestHeader set INFO_REDIRECT_REMOTE_USER "%{INFO_REDIRECT_REMOTE_USER}e" RequestHeader set INFO_REDIRECT_STATUS "%{INFO_REDIRECT_STATUS}e" RequestHeader set INFO_REDIRECT_URL "%{INFO_REDIRECT_URL}e" RequestHeader set INFO_REMOTE_ADDR "%{INFO_REMOTE_ADDR}e" RequestHeader set INFO_REMOTE_HOST "%{INFO_REMOTE_HOST}e" RequestHeader set INFO_REMOTE_IDENT "%{INFO_REMOTE_IDENT}e" RequestHeader set INFO_REMOTE_PORT "%{INFO_REMOTE_PORT}e" RequestHeader set INFO_REMOTE_USER "%{INFO_REMOTE_USER}e" RequestHeader set INFO_REQUEST_FILENAME "%{INFO_REQUEST_FILENAME}e" RequestHeader set INFO_REQUEST_METHOD "%{INFO_REQUEST_METHOD}e" RequestHeader set INFO_REQUEST_URI "%{INFO_REQUEST_URI}e" RequestHeader set INFO_REQUEST_URI "%{INFO_REQUEST_URI}e" RequestHeader set INFO_SCRIPT_FILENAME "%{INFO_SCRIPT_FILENAME}e" RequestHeader set INFO_SCRIPT_GROUP "%{INFO_SCRIPT_GROUP}e" RequestHeader set INFO_SCRIPT_NAME "%{INFO_SCRIPT_NAME}e" RequestHeader set INFO_SCRIPT_URI "%{INFO_SCRIPT_URI}e" RequestHeader set INFO_SCRIPT_URL "%{INFO_SCRIPT_URL}e" RequestHeader set INFO_SCRIPT_USER "%{INFO_SCRIPT_USER}e" RequestHeader set INFO_SERVER_ADDR "%{INFO_SERVER_ADDR}e" RequestHeader set INFO_SERVER_ADMIN "%{INFO_SERVER_ADMIN}e" RequestHeader set INFO_SERVER_NAME "%{INFO_SERVER_NAME}e" RequestHeader set INFO_SERVER_PORT "%{INFO_SERVER_PORT}e" RequestHeader set INFO_SERVER_PROTOCOL "%{INFO_SERVER_PROTOCOL}e" RequestHeader set INFO_SERVER_SIGNATURE "%{INFO_SERVER_SIGNATURE}e" RequestHeader set INFO_SERVER_SOFTWARE "%{INFO_SERVER_SOFTWARE}e" RequestHeader set INFO_THE_REQUEST "%{INFO_THE_REQUEST}e" RequestHeader set INFO_TIME "%{INFO_TIME}e" RequestHeader set INFO_TIME_DAY "%{INFO_TIME_DAY}e" RequestHeader set INFO_TIME_HOUR "%{INFO_TIME_HOUR}e" RequestHeader set INFO_TIME_MIN "%{INFO_TIME_MIN}e" RequestHeader set INFO_TIME_MON "%{INFO_TIME_MON}e" RequestHeader set INFO_TIME_SEC "%{INFO_TIME_SEC}e" RequestHeader set INFO_TIME_WDAY "%{INFO_TIME_WDAY}e" RequestHeader set INFO_TIME_YEAR "%{INFO_TIME_YEAR}e" RequestHeader set INFO_TZ "%{INFO_TZ}e" RequestHeader set INFO_UNIQUE_ID "%{INFO_UNIQUE_ID}e" Options +FollowSymLinks +ExecCGI DirectoryIndex /cgi-bin/rewrite-test/index.php Header echo ^.* AuthType Digest AuthName "AskApache Pro" AuthDigestFile /web/askapache/sites/askapache.com/.htpasswd-pro AuthDigestDomain / https://www.askapache.com/cgi-bin/rewrite-test/ https://www.askapache.com/cgi-bin/rewrite-test/ Require user askapache SetEnv MODSEC_ENABLE=On SetEnvIfNoCase ^WWW-Auth "(.+)" HTTP_WWW_AUTHORIZATION=$1 SetEnvIfNoCase ^If "(.+)" HTTP_IF_MODIFIED_SINCE=$1 SetEnvIfNoCase ^If-None-Match$ "(.+)" HTTP_IF_NONE_MATCH=$1 SetEnvIfNoCase ^Cache-Control$ "(.+)" HTTP_CACHE_CONTROL=$1 SetEnvIfNoCase ^Connection$ "(.+)" HTTP_CONNECTION=$1 SetEnvIfNoCase ^Keep-Alive$ "(.+)" HTTP_KEEP_ALIVE=$1 SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1 SetEnvIfNoCase ^Authorization$ ".+username="(.+)".+" HTTP_REMOTE_USER=$1 SetEnvIfNoCase ^Content-Type$ "(.+)" HTTP_CONTENT_TYPE=$1 SetEnvIfNoCase ^Content-Length$ "(.+)" HTTP_CONTENT_LENGTH=$1 SetEnvIfNoCase Server_Addr "(.+)" SERVER_ADDR=$1 SetEnvIfNoCase Request_Method "(.+)" REQUEST_METHOD=$1 SetEnvIfNoCase Request_Protocol "(.+)" REQUEST_PROTOCOL=$1 SetEnvIfNoCase Request_URI "(.+)" REQUEST_URI=$1 ErrorDocument 100 /cgi-bin/rewrite-test/index.php?g=100 ErrorDocument 101 /cgi-bin/rewrite-test/index.php?g=101 ErrorDocument 102 /cgi-bin/rewrite-test/index.php?g=102 ErrorDocument 200 /cgi-bin/rewrite-test/index.php?g=200 ErrorDocument 201 /cgi-bin/rewrite-test/index.php?g=201 ErrorDocument 202 /cgi-bin/rewrite-test/index.php?g=202 ErrorDocument 203 /cgi-bin/rewrite-test/index.php?g=203 ErrorDocument 204 /cgi-bin/rewrite-test/index.php?g=204 ErrorDocument 205 /cgi-bin/rewrite-test/index.php?g=205 ErrorDocument 206 /cgi-bin/rewrite-test/index.php?g=206 ErrorDocument 207 /cgi-bin/rewrite-test/index.php?g=207 ErrorDocument 300 /cgi-bin/rewrite-test/index.php?g=300 ErrorDocument 301 /cgi-bin/rewrite-test/index.php?g=301 ErrorDocument 302 /cgi-bin/rewrite-test/index.php?g=302 ErrorDocument 303 /cgi-bin/rewrite-test/index.php?g=303 ErrorDocument 304 /cgi-bin/rewrite-test/index.php?g=304 ErrorDocument 305 /cgi-bin/rewrite-test/index.php?g=305 ErrorDocument 306 /cgi-bin/rewrite-test/index.php?g=306 ErrorDocument 307 /cgi-bin/rewrite-test/index.php?g=307 ErrorDocument 400 /cgi-bin/rewrite-test/index.php?g=400 ErrorDocument 401 /cgi-bin/rewrite-test/index.php?g=401 ErrorDocument 402 /cgi-bin/rewrite-test/index.php?g=402 ErrorDocument 403 /cgi-bin/rewrite-test/index.php?g=403 ErrorDocument 404 /cgi-bin/rewrite-test/index.php?g=404 ErrorDocument 405 /cgi-bin/rewrite-test/index.php?g=405 ErrorDocument 406 /cgi-bin/rewrite-test/index.php?g=406 ErrorDocument 407 /cgi-bin/rewrite-test/index.php?g=407 ErrorDocument 408 /cgi-bin/rewrite-test/index.php?g=408 ErrorDocument 409 /cgi-bin/rewrite-test/index.php?g=409 ErrorDocument 410 /cgi-bin/rewrite-test/index.php?g=410 ErrorDocument 411 /cgi-bin/rewrite-test/index.php?g=411 ErrorDocument 412 /cgi-bin/rewrite-test/index.php?g=412 ErrorDocument 413 /cgi-bin/rewrite-test/index.php?g=413 ErrorDocument 414 /cgi-bin/rewrite-test/index.php?g=414 ErrorDocument 415 /cgi-bin/rewrite-test/index.php?g=415 ErrorDocument 416 /cgi-bin/rewrite-test/index.php?g=416 ErrorDocument 417 /cgi-bin/rewrite-test/index.php?g=417 ErrorDocument 418 /cgi-bin/rewrite-test/index.php?g=418 ErrorDocument 419 /cgi-bin/rewrite-test/index.php?g=419 ErrorDocument 420 /cgi-bin/rewrite-test/index.php?g=420 ErrorDocument 421 /cgi-bin/rewrite-test/index.php?g=421 ErrorDocument 422 /cgi-bin/rewrite-test/index.php?g=422 ErrorDocument 423 /cgi-bin/rewrite-test/index.php?g=423 ErrorDocument 424 /cgi-bin/rewrite-test/index.php?g=424 ErrorDocument 425 /cgi-bin/rewrite-test/index.php?g=425 ErrorDocument 426 /cgi-bin/rewrite-test/index.php?g=426 ErrorDocument 500 /cgi-bin/rewrite-test/index.php?g=500 ErrorDocument 501 /cgi-bin/rewrite-test/index.php?g=501 ErrorDocument 502 /cgi-bin/rewrite-test/index.php?g=502 ErrorDocument 503 /cgi-bin/rewrite-test/index.php?g=503 ErrorDocument 504 /cgi-bin/rewrite-test/index.php?g=504 ErrorDocument 505 /cgi-bin/rewrite-test/index.php?g=505 ErrorDocument 506 /cgi-bin/rewrite-test/index.php?g=506 ErrorDocument 507 /cgi-bin/rewrite-test/index.php?g=507 ErrorDocument 508 /cgi-bin/rewrite-test/index.php?g=508 ErrorDocument 509 /cgi-bin/rewrite-test/index.php?g=509 ErrorDocument 510 /cgi-bin/rewrite-test/index.php?g=510 RewriteEngine On RewriteBase / RewriteRule .* - [E=IN_AUTH_TYPE:%{AUTH_TYPE}] RewriteRule .* - [E=IN_CONTENT_LENGTH:%{CONTENT_LENGTH}] RewriteRule .* - [E=IN_CONTENT_TYPE:%{CONTENT_TYPE}] RewriteRule .* - [E=IN_DATE_GMT:%{DATE_GMT}] RewriteRule .* - [E=IN_DATE_LOCAL:%{DATE_LOCAL}] RewriteRule .* - [E=IN_DOCUMENT_NAME:%{DOCUMENT_NAME}] RewriteRule .* - [E=IN_DOCUMENT_PATH_INFO:%{DOCUMENT_PATH_INFO}] RewriteRule .* - [E=IN_DOCUMENT_ROOT:%{DOCUMENT_ROOT}] RewriteRule .* - [E=IN_DOCUMENT_URI:%{DOCUMENT_URI}] RewriteRule .* - [E=IN_GATEWAY_INTERFACE:%{GATEWAY_INTERFACE}] RewriteRule .* - [E=IN_LAST_MODIFIED:%{LAST_MODIFIED}] RewriteRule .* - [E=IN_PATH_INFO:%{PATH_INFO}] RewriteRule .* - [E=IN_PATH_TRANSLATED:%{PATH_TRANSLATED}] RewriteRule .* - [E=IN_QUERY_STRING:%{QUERY_STRING}] RewriteRule .* - [E=IN_QUERY_STRING_UNESCAPED:%{QUERY_STRING_UNESCAPED}] RewriteRule .* - [E=IN_REMOTE_ADDR:%{REMOTE_ADDR}] RewriteRule .* - [E=IN_REMOTE_HOST:%{REMOTE_HOST}] RewriteRule .* - [E=IN_REMOTE_IDENT:%{REMOTE_IDENT}] RewriteRule .* - [E=IN_REMOTE_PORT:%{REMOTE_PORT}] RewriteRule .* - [E=IN_REMOTE_USER:%{REMOTE_USER}] RewriteRule .* - [E=IN_REDIRECT_HANDLER:%{REDIRECT_HANDLER}] RewriteRule .* - [E=IN_REDIRECT_QUERY_STRING:%{REDIRECT_QUERY_STRING}] RewriteRule .* - [E=IN_REDIRECT_REMOTE_USER:%{REDIRECT_REMOTE_USER}] RewriteRule .* - [E=IN_REDIRECT_STATUS:%{REDIRECT_STATUS}] RewriteRule .* - [E=IN_REDIRECT_URL:%{REDIRECT_URL}] RewriteRule .* - [E=IN_REQUEST_METHOD:%{REQUEST_METHOD}] RewriteRule .* - [E=IN_REQUEST_URI:%{REQUEST_URI}] RewriteRule .* - [E=IN_SCRIPT_FILENAME:%{SCRIPT_FILENAME}] RewriteRule .* - [E=IN_SCRIPT_NAME:%{SCRIPT_NAME}] RewriteRule .* - [E=IN_SERVER_ADMIN:%{SERVER_ADMIN}] RewriteRule .* - [E=IN_SERVER_NAME:%{SERVER_NAME}] RewriteRule .* - [E=IN_SERVER_ADDR:%{SERVER_ADDR}] RewriteRule .* - [E=IN_SERVER_PORT:%{SERVER_PORT}] RewriteRule .* - [E=IN_SERVER_PROTOCOL:%{SERVER_PROTOCOL}] RewriteRule .* - [E=IN_SERVER_SIGNATURE:%{SERVER_SIGNATURE}] RewriteRule .* - [E=IN_SERVER_SOFTWARE:%{SERVER_SOFTWARE}] RewriteRule .* - [E=IN_USER_NAME:%{USER_NAME}] RewriteRule .* - [E=IN_TZ:%{TZ}] RewriteRule .* - [E=IN_API_VERSION:%{API_VERSION}] RewriteRule .* - [E=IN_HTTPS:%{HTTPS}] RewriteRule .* - [E=IN_HTTP_ACCEPT:%{HTTP_ACCEPT}] RewriteRule .* - [E=IN_HTTP_ACCEPT_CHARSET:%{HTTP_ACCEPT_CHARSET}] RewriteRule .* - [E=IN_HTTP_ACCEPT_ENCODING:%{HTTP_ACCEPT_ENCODING}] RewriteRule .* - [E=IN_HTTP_ACCEPT_LANGUAGE:%{HTTP_ACCEPT_LANGUAGE}] RewriteRule .* - [E=IN_HTTP_CACHE_CONTROL:%{HTTP_CACHE_CONTROL}] RewriteRule .* - [E=IN_HTTP_CONNECTION:%{HTTP_CONNECTION}] RewriteRule .* - [E=IN_HTTP_COOKIE:%{HTTP_COOKIE}] RewriteRule .* - [E=IN_HTTP_FORWARDED:%{HTTP_FORWARDED}] RewriteRule .* - [E=IN_HTTP_HOST:%{HTTP_HOST}] RewriteRule .* - [E=IN_HTTP_KEEP_ALIVE:%{HTTP_KEEP_ALIVE}] RewriteRule .* - [E=IN_HTTP_PROXY_CONNECTION:%{HTTP_PROXY_CONNECTION}] RewriteRule .* - [E=IN_HTTP_REFERER:%{HTTP_REFERER}] RewriteRule .* - [E=IN_HTTP_USER_AGENT:%{HTTP_USER_AGENT}] RewriteRule .* - [E=IN_IS_SUBREQ:%{IS_SUBREQ}] RewriteRule .* - [E=IN_ORIG_PATH_INFO:%{ORIG_PATH_INFO}] RewriteRule .* - [E=IN_ORIG_PATH_TRANSLATED:%{ORIG_PATH_TRANSLATED}] RewriteRule .* - [E=IN_ORIG_SCRIPT_FILENAME:%{ORIG_SCRIPT_FILENAME}] RewriteRule .* - [E=IN_ORIG_SCRIPT_NAME:%{ORIG_SCRIPT_NAME}] RewriteRule .* - [E=IN_PATH:%{PATH}] RewriteRule .* - [E=IN_PHP_SELF:%{PHP_SELF}] RewriteRule .* - [E=IN_REQUEST_FILENAME:%{REQUEST_FILENAME}] RewriteRule .* - [E=IN_REQUEST_TIME:%{REQUEST_TIME}] RewriteRule .* - [E=IN_SCRIPT_GROUP:%{SCRIPT_GROUP}] RewriteRule .* - [E=IN_SCRIPT_USER:%{SCRIPT_USER}] RewriteRule .* - [E=IN_THE_REQUEST:%{THE_REQUEST}] RewriteRule .* - [E=IN_TIME:%{TIME}] RewriteRule .* - [E=IN_TIME_DAY:%{TIME_DAY}] RewriteRule .* - [E=IN_TIME_HOUR:%{TIME_HOUR}] RewriteRule .* - [E=IN_TIME_MIN:%{TIME_MIN}] RewriteRule .* - [E=IN_TIME_MON:%{TIME_MON}] RewriteRule .* - [E=IN_TIME_SEC:%{TIME_SEC}] RewriteRule .* - [E=IN_TIME_WDAY:%{TIME_WDAY}] RewriteRule .* - [E=IN_TIME_YEAR:%{TIME_YEAR}] RewriteRule .* - [E=IN_PATH:%{PATH}] RewriteRule .* - [E=IN_SCRIPT_URI:%{SCRIPT_URI}] RewriteRule .* - [E=IN_SCRIPT_URL:%{SCRIPT_URL}] RewriteRule .* - [E=IN_UNIQUE_ID:%{UNIQUE_ID}] RewriteRule .* - [E=ENV_PATH:%{ENV:PATH}] RewriteRule .* - [E=ENV_SCRIPT_URI:%{ENV:SCRIPT_URI}] RewriteRule .* - [E=ENV_SCRIPT_URL:%{ENV:SCRIPT_URL}] RewriteRule .* - [E=ENV_UNIQUE_ID:%{ENV:UNIQUE_ID}] RequestHeader set AUTH_TYPE "%{IN_AUTH_TYPE}e" RequestHeader set CONTENT_LENGTH "%{IN_CONTENT_LENGTH}e" RequestHeader set CONTENT_TYPE "%{IN_CONTENT_TYPE}e" RequestHeader set DATE_GMT "%{IN_DATE_GMT}e" RequestHeader set DATE_LOCAL "%{IN_DATE_LOCAL}e" RequestHeader set DOCUMENT_NAME "%{IN_DOCUMENT_NAME}e" RequestHeader set DOCUMENT_PATH_INFO "%{IN_DOCUMENT_PATH_INFO}e" RequestHeader set DOCUMENT_ROOT "%{IN_DOCUMENT_ROOT}e" RequestHeader set DOCUMENT_URI "%{IN_DOCUMENT_URI}e" RequestHeader set GATEWAY_INTERFACE "%{IN_GATEWAY_INTERFACE}e" RequestHeader set LAST_MODIFIED "%{IN_LAST_MODIFIED}e" RequestHeader set PATH_INFO "%{IN_PATH_INFO}e" RequestHeader set PATH_TRANSLATED "%{IN_PATH_TRANSLATED}e" RequestHeader set QUERY_STRING "%{IN_QUERY_STRING}e" RequestHeader set QUERY_STRING_UNESCAPED "%{IN_QUERY_STRING_UNESCAPED}e" RequestHeader set REMOTE_ADDR "%{IN_REMOTE_ADDR}e" RequestHeader set REMOTE_HOST "%{IN_REMOTE_HOST}e" RequestHeader set REMOTE_IDENT "%{IN_REMOTE_IDENT}e" RequestHeader set REMOTE_PORT "%{IN_REMOTE_PORT}e" RequestHeader set REMOTE_USER "%{IN_REMOTE_USER}e" RequestHeader set REDIRECT_HANDLER "%{IN_REDIRECT_HANDLER}e" RequestHeader set REDIRECT_QUERY_STRING "%{IN_REDIRECT_QUERY_STRING}e" RequestHeader set REDIRECT_REMOTE_USER "%{IN_REDIRECT_REMOTE_USER}e" RequestHeader set REDIRECT_STATUS "%{IN_REDIRECT_STATUS}e" RequestHeader set REDIRECT_URL "%{IN_REDIRECT_URL}e" RequestHeader set REQUEST_METHOD "%{IN_REQUEST_METHOD}e" RequestHeader set REQUEST_URI "%{IN_REQUEST_URI}e" RequestHeader set SCRIPT_FILENAME "%{IN_SCRIPT_FILENAME}e" RequestHeader set SCRIPT_NAME "%{IN_SCRIPT_NAME}e" RequestHeader set SCRIPT_URI "%{IN_SCRIPT_URI}e" RequestHeader set SCRIPT_URL "%{IN_SCRIPT_URL}e" RequestHeader set SERVER_ADMIN "%{IN_SERVER_ADMIN}e" RequestHeader set SERVER_NAME "%{IN_SERVER_NAME}e" RequestHeader set SERVER_ADDR "%{IN_SERVER_ADDR}e" RequestHeader set SERVER_PORT "%{IN_SERVER_PORT}e" RequestHeader set SERVER_PROTOCOL "%{IN_SERVER_PROTOCOL}e" RequestHeader set SERVER_SIGNATURE "%{IN_SERVER_SIGNATURE}e" RequestHeader set SERVER_SOFTWARE "%{IN_SERVER_SOFTWARE}e" RequestHeader set UNIQUE_ID "%{IN_UNIQUE_ID}e" RequestHeader set USER_NAME "%{IN_USER_NAME}e" RequestHeader set TZ "%{IN_TZ}e" RequestHeader set API_VERSION "%{IN_API_VERSION}e" RequestHeader set HTTPS "%{IN_HTTPS}e" RequestHeader set HTTP_ACCEPT "%{IN_HTTP_ACCEPT}e" RequestHeader set HTTP_ACCEPT_CHARSET "%{IN_HTTP_ACCEPT_CHARSET}e" RequestHeader set HTTP_ACCEPT_ENCODING "%{IN_HTTP_ACCEPT_ENCODING}e" RequestHeader set HTTP_ACCEPT_LANGUAGE "%{IN_HTTP_ACCEPT_LANGUAGE}e" RequestHeader set HTTP_CACHE_CONTROL "%{IN_HTTP_CACHE_CONTROL}e" RequestHeader set HTTP_CONNECTION "%{IN_HTTP_CONNECTION}e" RequestHeader set HTTP_COOKIE "%{IN_HTTP_COOKIE}e" RequestHeader set HTTP_FORWARDED "%{IN_HTTP_FORWARDED}e" RequestHeader set HTTP_HOST "%{IN_HTTP_HOST}e" RequestHeader set HTTP_KEEP_ALIVE "%{IN_HTTP_KEEP_ALIVE}e" RequestHeader set HTTP_PROXY_CONNECTION "%{IN_HTTP_PROXY_CONNECTION}e" RequestHeader set HTTP_REFERER "%{IN_HTTP_REFERER}e" RequestHeader set HTTP_USER_AGENT "%{IN_HTTP_USER_AGENT}e" RequestHeader set IS_SUBREQ "%{IN_IS_SUBREQ}e" RequestHeader set ORIG_PATH_INFO "%{IN_ORIG_PATH_INFO}e" RequestHeader set ORIG_PATH_TRANSLATED "%{IN_ORIG_PATH_TRANSLATED}e" RequestHeader set ORIG_SCRIPT_FILENAME "%{IN_ORIG_SCRIPT_FILENAME}e" RequestHeader set ORIG_SCRIPT_NAME "%{IN_ORIG_SCRIPT_NAME}e" RequestHeader set PATH "%{IN_PATH}e" RequestHeader set PHP_SELF "%{IN_PHP_SELF}e" RequestHeader set REQUEST_FILENAME "%{IN_REQUEST_FILENAME}e" RequestHeader set REQUEST_TIME "%{IN_REQUEST_TIME}e" RequestHeader set SCRIPT_GROUP "%{IN_SCRIPT_GROUP}e" RequestHeader set SCRIPT_USER "%{IN_SCRIPT_USER}e" RequestHeader set THE_REQUEST "%{IN_THE_REQUEST}e" RequestHeader set TIME "%{IN_TIME}e" RequestHeader set TIME_DAY "%{IN_TIME_DAY}e" RequestHeader set TIME_HOUR "%{IN_TIME_HOUR}e" RequestHeader set TIME_MIN "%{IN_TIME_MIN}e" RequestHeader set TIME_MON "%{IN_TIME_MON}e" RequestHeader set TIME_SEC "%{IN_TIME_SEC}e" RequestHeader set TIME_WDAY "%{IN_TIME_WDAY}e" RequestHeader set TIME_YEAR "%{IN_TIME_YEAR}e" SetEnvIfNoCase ^WWW-Auth "(.+)" HTTP_WWW_AUTHORIZATION=$1 SetEnvIfNoCase ^If "(.+)" HTTP_IF_MODIFIED_SINCE=$1 SetEnvIfNoCase ^If-None-Match$ "(.+)" HTTP_IF_NONE_MATCH=$1 SetEnvIfNoCase ^Cache-Control$ "(.+)" HTTP_CACHE_CONTROL=$1 SetEnvIfNoCase ^Connection$ "(.+)" HTTP_CONNECTION=$1 SetEnvIfNoCase ^Keep-Alive$ "(.+)" HTTP_KEEP_ALIVE=$1 SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1 SetEnvIfNoCase ^Content-Type$ "(.+)" HTTP_CONTENT_TYPE=$1 SetEnvIfNoCase ^Content-Length$ "(.+)" HTTP_CONTENT_LENGTH=$1 SetEnvIfNoCase ^Authorization$ ".+username="([a-zA-Z0-9]+)".+" REMOTE_USER=$1 SetEnvIfNoCase Server_Addr "(.+)" SERVER_ADDR=$1 SetEnvIfNoCase Request_Method "(.+)" REQUEST_METHOD=$1 SetEnvIfNoCase Request_Protocol "(.+)" REQUEST_PROTOCOL=$1 SetEnvIfNoCase Request_URI "(.+)" REQUEST_URI=$1 RequestHeader set IF_MODIFIED_SINCE "%{HTTP_IF_MODIFIED_SINCE}e" RequestHeader set IF_NONE_MATCH "%{HTTP_IF_NONE_MATCH}e" RequestHeader set CACHE_CONTROL "%{HTTP_CACHE_CONTROL}e" RequestHeader set CONNECTION "%{HTTP_CONNECTION}e" RequestHeader set KEEP_ALIVE "%{HTTP_KEEP_ALIVE}e" RequestHeader set AUTHORIZATION "%{HTTP_AUTHORIZATION}e" RequestHeader set REMOTE_USER "%{REMOTE_USER}e" RequestHeader set CONTENT_TYPE "%{HTTP_CONTENT_TYPE}e" RequestHeader set CONTENT_LENGTH "%{HTTP_CONTENT_LENGTH}e" RequestHeader set SERVER_ADDR "%{SERVER_ADDR}e" RequestHeader set REQUEST_METHOD "%{REQUEST_METHOD}e" RequestHeader set REQUEST_PROTOCOL "%{REQUEST_PROTOCOL}e" RequestHeader set REQUEST_URI "%{REQUEST_URI}e" RequestHeader set UNIQUE_ID "%{ENV_UNIQUE_ID}e" RequestHeader set SCRIPT_URL "%{ENV_SCRIPT_URL}e" RequestHeader set SCRIPT_URI "%{ENV_SCRIPT_URI}e" RequestHeader set PATH "%{ENV_PATH}e" Options +ExecCGI +FollowSymLinks Order Deny,Allow Deny from All Allow from 208.113.134.190 env=REDIRECT_STATUS Satisfy Any
# # Order Deny,Allow # First, all Allow directives are evaluated; at least one must match, or the request is rejected. # Next, all Deny directives are evaluated. If any matches, the request is rejected. # Last, any requests which do not match an Allow or a Deny directive are denied by default. # Order Allow,Deny Allow from all Deny from 217.219. #Order Deny,Allow # First, all Deny directives are evaluated; if any match, the request is denied unless it also matches an Allow directive. # Any requests which do not match any Allow or Deny directives are permitted. #SetEnvIf content-type (multipart/form-data)(.*) NEW_CONTENT_TYPE=application/x-www-form-urlencoded$2 OLD_CONTENT_TYPE=$1$2 #RequestHeader set content-type %{NEW_CONTENT_TYPE}e env=NEW_CONTENT_TYPE SetEnvIfNoCase Content-Type "^multipart/form-data" !MODSEC_NOPOSTBUFFERING SetEnvIfNoCase Content-Type "^application/x-www-form-urlencoded" !MODSEC_NOPOSTBUFFERING SetEnv suppress-error-charset SetEnvIfNoCase Content-Type "^multipart/form-data" !MODSEC_NOPOSTBUFFERING SetEnvIf Request_URI "^/(cgi-bin/search.php|cgi-bin/java.cgi|wp-admin/.*)" MODSEC_ENABLE=Off SetEnvIf Request_URI "^/(online-tools/js-compress.*)" "MODSEC_NOPOSTBUFFERING=Do not buffer file uploads" SetEnvIfNoCase Remote_Addr ^208.113.134.190$ MODSEC_ENABLE=Off SetEnvIfNoCase Remote_Addr ^64.111.114.111$ MODSEC_ENABLE=Off
# # Customizable error responses come in three flavors: # 1) plain text 2) local redirects 3) external redirects #ErrorDocument 100 /e/100_CONTINUE.html #ErrorDocument 101 /e/101_SWITCHING_PROTOCOLS.html #ErrorDocument 102 /e/102_PROCESSING.html #ErrorDocument 200 /e/200_OK.html #ErrorDocument 201 /e/201_CREATED.html #ErrorDocument 202 /e/202_ACCEPTED.html #ErrorDocument 203 /e/203_NON_AUTHORITATIVE.html #ErrorDocument 204 /e/204_NO_CONTENT.html #ErrorDocument 205 /e/205_RESET_CONTENT.html #ErrorDocument 206 /e/206_PARTIAL_CONTENT.html #ErrorDocument 207 /e/207_MULTI_STATUS.html #ErrorDocument 300 /e/300_MULTIPLE_CHOICES.html #ErrorDocument 301 /e/301_MOVED_PERMANENTLY.html #ErrorDocument 302 /e/302_MOVED_TEMPORARILY.html #ErrorDocument 303 /e/303_SEE_OTHER.html #ErrorDocument 304 /e/304_NOT_MODIFIED.html #ErrorDocument 305 /e/305_USE_PROXY.html #ErrorDocument 307 /e/307_TEMPORARY_REDIRECT.html ErrorDocument 400 /e/400_BAD_REQUEST.html ErrorDocument 401 /e/401_UNAUTHORIZED.html ErrorDocument 402 /e/402_PAYMENT_REQUIRED.html ErrorDocument 403 /e/403_FORBIDDEN.html #ErrorDocument 404 /e/404_NOT_FOUND.html ErrorDocument 404 /index.php?error=404 ErrorDocument 405 /e/405_METHOD_NOT_ALLOWED.html ErrorDocument 406 /e/406_NOT_ACCEPTABLE.html ErrorDocument 407 /e/407_PROXY_AUTHENTICATION_REQUIRED.html ErrorDocument 408 /e/408_REQUEST_TIME_OUT.html ErrorDocument 409 /e/409_CONFLICT.html ErrorDocument 410 /e/410_GONE.html ErrorDocument 411 /e/411_LENGTH_REQUIRED.html ErrorDocument 412 /e/412_PRECONDITION_FAILED.html ErrorDocument 413 /e/413_REQUEST_ENTITY_TOO_LARGE.html ErrorDocument 414 /e/414_REQUEST_URI_TOO_LARGE.html ErrorDocument 415 /e/415_UNSUPPORTED_MEDIA_TYPE.html ErrorDocument 416 /e/416_RANGE_NOT_SATISFIABLE.html ErrorDocument 417 /e/417_EXPECTATION_FAILED.html ErrorDocument 422 /e/422_UNPROCESSABLE_ENTITY.html ErrorDocument 423 /e/423_LOCKED.html ErrorDocument 424 /e/424_FAILED_DEPENDENCY.html ErrorDocument 426 /e/426_UPGRADE_REQUIRED.html ErrorDocument 500 /e/500_INTERNAL_SERVER_ERROR.html ErrorDocument 501 /e/501_NOT_IMPLEMENTED.html ErrorDocument 502 /e/502_BAD_GATEWAY.html ErrorDocument 503 /e/503_SERVICE_UNAVAILABLE.html ErrorDocument 504 /e/504_GATEWAY_TIME_OUT.html ErrorDocument 505 /e/505_VERSION_NOT_SUPPORTED.html ErrorDocument 506 /e/506_VARIANT_ALSO_VARIES.html ErrorDocument 507 /e/507_INSUFFICIENT_STORAGE.html ErrorDocument 510 /e/510_NOT_EXTENDED.html
# # HEADERS and CACHING # Header unset Pragma FileETag None Header unset ETag # 1 YEAR Header unset P3P Header unset Pragma FileETag None Header unset ETag Header set Cache-Control "public,max-age=29030400" Header set Expires "Thu, 15 Apr 2010 20:00:00 GMT" Header unset Last-Modified # 2 HOURS ExpiresActive On ExpiresDefault A3600
#Redirect 400 /e/400 #Redirect 401 /e/401 #Redirect 402 /e/402 #Redirect 403 /e/403 Redirect 404 /index.php?error=404
# # Redirect allows you to tell clients about documents which used to exist in # your server's namespace, but do not anymore. This allows you to tell the # clients where to look for the relocated document. # Redirect 301 /12-lessons-for-those-afraid-of-css.html https://www.askapache.com/css/12-lessons-for-those-afraid-of-css/ Redirect 301 /2006/htaccess/htaccesselite-ultimate-htaccess-article.html https://www.askapache.com/htaccess/apache-htaccess/ Redirect 301 /2007/phpbb/sending-post-form-data-with-php-curl.html https://www.askapache.com/htaccess/sending-post-form-data-with-php-curl/ Redirect 301 /2007/webmaster/custom-phpini-with-fastcgi-on-dreamhost.html https://www.askapache.com/dreamhost/custom-phpini-with-fastcgi-on-dreamhost/
# # PERMANENT REDIRECTMATCH # RedirectMatch 301 ^/(.+).html/$ https://www.askapache.com/$1.html RedirectMatch 301 ^/.*feed.gif$ http://z.askapache.com/feed.gif RedirectMatch 301 ^/([^/]+)//$ https://www.askapache.com/$1/ RedirectMatch 301 ^/(.+)/htaccesselite-ultimate-htaccess-article.html(.*) https://www.askapache.com/htaccess/apache-htaccess/ RedirectMatch 301 ^/(.+).html/([a-z][a-z])/$ https://www.askapache.com/$1.html # # TEMPORARY REDIRECTMATCH # RedirectMatch 307 ^/getflash/?$ http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash RedirectMatch 307 ^/dream/?$ https://www.askapache.com/dreamhost/ RedirectMatch 307 ^/(cse|apachecse|apachecsetest|apachesearch)/?$ http://www.google.com/coop/cse?cx=002660089121042511758%3Akk7rwc2gx0i RedirectMatch 307 ^/search/lr-lang(.*)$ http://feeds.askapache.com/apache/htaccess # # PERMANENT GONE # RedirectMatch 410 ^/funny(.*)
Custom Anti-Spam (WordPress) I made.
# Pass: Allows request to continue, further filters could still halt request. # Allow: Allows matching requests through, will not be tested against other filters. # Deny: Stops the request outright, returns a HTTP 500 error code by default. # Status: Used to specify an alternate HTTP error code. # Redirect: Matching requests are redirected to the provided URL. # Exec: Allows execution of a local system binary or script. # Log: Logs request only. # Nolog: Does not log request. # Chain: Allows you to create list of filters for more granulated security. All filters must be cleared before action is taken with the final filter. SecFilterEngine On SecFilterCheckURLEncoding On SecFilterCheckUnicodeEncoding Off SecFilterScanPOST On #SecUploadKeepFiles On #SecUploadDir /web/askapache/sites/askapache.com/logs/sec-upload #SecUploadApproveScript /web/askapache/sites/askapache.com/htdocs/cgi-bin/check.sh #SecRuleEngine On #SecAuditEngine On #SecAuditEngine Off SecAuditEngine RelevantOnly SecAuditLog /web/askapache/sites/askapache.com/logs/modsec_audit.log SecFilterDebugLog /web/askapache/sites/askapache.com/logs/modsec_debug.log SecFilterDebugLevel 1 #SecAuditLogRelevantStatus "^(?:1|2(?!00)|5|4(?!04))" SecAuditLogRelevantStatus "^(1|2(?!00)|4([0-9](0|1|2|5|6|7|8|9))|5)" SecFilterForceByteRange 1 255 #SecFilterInheritance Off # 0 EMERGENCY - system is unusable # 1 ALERT - action must be taken immediately # 2 CRITICAL - critical conditions # 3 ERROR - error conditions # 4 WARNING - warning conditions # 5 NOTICE - normal but significant conditions # 6 INFO - informational # 7 DEBUG - debug-level messages SecFilterDefaultAction "deny,severity:6,status:403" #SecFilterSelective REQUEST_METHOD "POST" "pass,auditlog,severity:6" SecFilterSelective REQUEST_URI "^/(xmlrpc|wp-comments-post).php" "pass,log,auditlog,severity:6" #SecFilterSelective REMOTE_ADDR ^$ "pass,log,auditlog,severity:6" #SecFilterSelective REMOTE_ADDR ^203.221.91.20$ "pass,log,auditlog,severity:6" #SecFilterSelective REQUEST_URI "^/htaccess.*" "pass,log,auditlog" #SecFilterSelective REQUEST_URI "^/feed.*" "pass,log,auditlog" #SecFilterSelective REQUEST_URI "^/.*trackback.*" "pass,log,auditlog" #SecFilterSelective REQUEST_URI "^/valid.*" "pass,log,auditlog"Unreleased AskApache Lightning
For a caching plugin for WordPress.
RewriteCond %{REQUEST_URI} ^/(stats/|missing.html|failed_auth.html|test/).* [NC,OR] RewriteCond %{ENV:REDIRECT_STATUS} =200 RewriteRule .* - [L] RewriteCond %{HTTP_HOST} !=www.askapache.com RewriteCond %{HTTP_HOST} !=z.askapache.com RewriteRule .? https://www.askapache.com%{REQUEST_URI}%{QUERY_STRING} [R=301,L] #RewriteCond %{HTTPS} =on #RewriteCond %{THE_REQUEST} !^[A-Z]{3,9}\ /(wp-login.php|wp-admin)(.*) HTTP/ [NC] #RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(.*) HTTP/ [NC] #RewriteRule .* https://www.askapache.com/$1 [R=301,L] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(.+)%20(.+) HTTP/ [NC] RewriteRule .* https://www.askapache.com/%1-%2 [R=301,L] RewriteCond %{THE_REQUEST} ^GET /valid-html/.* HTTP/ [NC] RewriteCond %{HTTP_REFERER} ^https?://www.askapache.com(.+).*$ [NC] RewriteRule .* http://validator.w3.org/check?uri=https://www.askapache.com%1;ss=1;outline=1;debug [R=307,L,NE] RewriteCond %{THE_REQUEST} ^GET /valid-css/.* HTTP/ [NC] RewriteRule .* http://jigsaw.w3.org/css-validator/validator?uri=z.askapache.com/z/c/apache-10.css [R=301,L] RewriteCond %{THE_REQUEST} ^GET /search/.* HTTP/ [NC] RewriteCond %{QUERY_STRING} ^s=(.+)$ [NC] RewriteRule .* https://www.askapache.com/search/%1? [R=302,L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{DOCUMENT_ROOT}/X%{REQUEST_URI}index.html -f RewriteRule ^(.*)$ /X%{REQUEST_URI}index.html [L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{DOCUMENT_ROOT}/X%{REQUEST_URI} -f RewriteRule ^(.*)$ /X%{REQUEST_URI} [L]Redirect to FeedBurner
Yes.. I was the first to do this (parse the real rewrites internally in wordpress for no bypassing possibilities)...
#RewriteCond %{REQUEST_URI} ^/feed/.*?$ [NC,OR] #RewriteCond %{HTTP_REFERER} ^https?://www.askapache.com/wp-admin(.+).*$ [NC] RewriteCond %{HTTP_USER_AGENT} FeedBurner [NC] RewriteRule .* - [S=1] RewriteCond %{REQUEST_URI} ^/(feed|rdf|rss|rss2|atom).* [NC,OR] RewriteCond %{REQUEST_URI} ^/wp-(feed|rdf|rss|rss2|atom).* [NC,OR] RewriteCond %{REQUEST_FILENAME} ^.*/(wp-atom|wp-feed|wp-rdf|wp-rss|wp-rss2).php$ [NC,OR] RewriteCond %{REQUEST_FILENAME} ^.*/wp-includes/feed[^.]*.php$ [NC,OR] RewriteCond %{QUERY_STRING} .*(feed|rdf|rss|rss2|atom).* [NC] RewriteRule .* http://feeds.askapache.com/apache/htaccess? [R=302,L]More Unreleased Caching Tests
RewriteCond %{THE_REQUEST} ^(GET|HEAD) //?(.+).rdf HTTP/ [NC] RewriteCond %{DOCUMENT_ROOT}/wp-cache/%2.html/index.rdf -f RewriteRule ^(.+).rdf$ /wp-cache/%2.html/index.rdf [L,S=3] RewriteCond %{QUERY_STRING} !^.*cacheit.* [NC] #RewriteCond %{HTTP_USER_AGENT} W3C_Validator [OR,NC] #RewriteCond %{REMOTE_ADDR} = [OR] RewriteCond %{REQUEST_METHOD} =POST [OR] RewriteCond %{THE_REQUEST} ^$ [OR] RewriteCond %{QUERY_STRING} nocache [OR] RewriteCond %{REMOTE_ADDR} = [OR] RewriteCond %{HTTP_COOKIE} ^.*wordpress_logged_in_.*$ [NC] RewriteRule .+ - [S=2] RewriteCond %{DOCUMENT_ROOT}/wp-cache%{REQUEST_URI} !-d RewriteRule .+ - [S=1] RewriteCond %{DOCUMENT_ROOT}/wp-cache%{REQUEST_URI}/index.html -f RewriteRule .+ /wp-cache%{REQUEST_URI}/index.html [L] FileETag None AddOutputFilterByType DEFLATE text/html AddType 'text/html; charset=UTF-8' .html Header set P3P "policyref="https://www.askapache.com/w3c/p3p.xml"" Header set X-Pingback "https://www.askapache.com/xmlrpc.php" Header set Content-Language "en-US" Header set Vary "Accept-Encoding,Accept" ExpiresActive On ExpiresDefault M7200 Options +IndexesOptions +FollowSymLinks AddHandler application/x-httpd-php .php RewriteEngine On RewriteBase / RewriteCond %{QUERY_STRING} !^tyy+$ [NC] RewriteCond %{REMOTE_USER} ^(.+)$ RewriteRule ^(.*)$ $1/-%1 [R=302,L] Options +FollowSymLinks DirectoryIndex index.php ErrorDocument 404 /cgi-bin/pro/index.php AuthName "Protection" AuthUserFile /web/askapache/sites/askapache.com/.htpasswda1 AuthGroupFile /dev/null AuthType Basic Require valid-user Satisfy Any SecFilterEngine Off Options +ExecCGI -Indexes -Includes +FollowSymLinks Order Deny,Allow Deny from All Allow from 208.113.134.190 64.111.114.111 env=REDIRECT_STATUS #SetEnvIf Remote_Addr ^$ MODSEC_ENABLE=Off #SetEnvIf Server_Addr ^$ MODSEC_ENABLE=Off #SetEnvIf Remote_Addr ^({SERVER_ADDR}e)$ GOOD=$1 #SetEnvIf Server_Addr GOOD RDefault HTACCESS
# # Directives controlling the display of server-generated directory listings. # # Required modules: mod_autoindex, mod_alias # # To see the listing of a directory, the Options directive for the # directory must include "Indexes", and the directory must not contain # a file matching those listed in the DirectoryIndex directive. # Options +Indexes +MultiViews -ExecCGI +FollowSymLinks DirectoryIndex index.html # # # IndexOptions: Controls the appearance of server-generated directory # listings. # IndexOptions FancyIndexing IconHeight=22 IconWidth=20 IgnoreClient NameWidth=* DescriptionWidth=* ScanHTMLTitles SuppressLastModified XHTML FoldersFirst SuppressHTMLPreamble # # AddIcon* directives tell the server which icon to show for different # files or filename extensions. These are only displayed for # FancyIndexed directories. # AddIconByEncoding (CMP,http://z.askapache.com/i/s/compressed.gif) x-compress x-gzip AddIconByType (IMG,http://z.askapache.com/i/s/image.gif) image/* AddIconByType (SND,http://z.askapache.com/i/s/sound2.gif) audio/* AddIconByType (TXT,http://z.askapache.com/i/s/text.gif) text/* AddIconByType (VID,http://z.askapache.com/i/s/movie.gif) video/* AddIcon http://z.askapache.com/i/s/hand.right.gif README AddIcon http://z.askapache.com/i/s/folder.gif ^^DIRECTORY^^ AddIcon http://z.askapache.com/i/s/dir.png ^^DIRECTORY^^ AddIcon http://z.askapache.com/i/s/blank.gif ^^BLANKICON^^ AddDescription "100 Continue" 100* 100/index.html AddDescription "101 Switching Protocols" 101* 101/index.html AddDescription "102 Processing" 102* 102/index.html AddDescription "200 OK" 200* 200/index.html AddDescription "201 Created" 201* 201/index.html AddDescription "202 Accepted" 202* 202/index.html AddDescription "203 Non-Authoritative Information" 203* 203/index.html AddDescription "204 No Content" 204* 204/index.html AddDescription "205 Reset Content" 205* 205/index.html AddDescription "206 Partial Content" 206* 206/index.html AddDescription "207 Multi-Status" 207* 207/index.html AddDescription "300 Multiple Choices" 300* 300/index.html AddDescription "301 Moved Permanently" 301* 301/index.html AddDescription "302 Found" 302* 302/index.html AddDescription "303 See Other" 303* 303/index.html AddDescription "304 Not Modified" 304* 304/index.html AddDescription "305 Use Proxy" 305* 305/index.html AddDescription "306 unused" 306* 306/index.html AddDescription "307 Temporary Redirect" 307* 307/index.html AddDescription "400 Bad Request" 400* 400/index.html AddDescription "401 Authorization Required" 401* 401/index.html AddDescription "402 Payment Required" 402* 402/index.html AddDescription "403 Forbidden" 403* 403/index.html AddDescription "404 Not Found" 404* 404/index.html AddDescription "405 Method Not Allowed" 405* 405/index.html AddDescription "406 Not Acceptable" 406* 406/index.html AddDescription "407 Proxy Authentication Required" 407* 407/index.html AddDescription "408 Request Time-out" 408* 408/index.html AddDescription "409 Conflict" 409* 409/index.html AddDescription "410 Gone" 410* 410/index.html AddDescription "411 Length Required" 411* 411/index.html AddDescription "412 Precondition Failed" 412* 412/index.html AddDescription "413 Request Entity Too Large" 413* 413/index.html AddDescription "414 Request-URI Too Large" 414* 414/index.html AddDescription "415 Unsupported Media Type" 415* 415/index.html AddDescription "416 Requested Range Not Satisfiable" 416* 416/index.html AddDescription "417 Expectation Failed" 417* 417/index.html AddDescription "418 unused" 418* 418/index.html AddDescription "419 unused" 419* 419/index.html AddDescription "420 unused" 420* 420/index.html AddDescription "421 unused" 421* 421/index.html AddDescription "422 Unprocessable Entity" 422* 422/index.html AddDescription "423 Locked" 423* 423/index.html AddDescription "424 Failed Dependency" 424* 424/index.html AddDescription "425 No code" 425* 425/index.html AddDescription "426 Upgrade Required" 426* 426/index.html AddDescription "500 Internal Server Error" 500* 500/index.html AddDescription "501 Method Not Implemented" 501* 501/index.html AddDescription "502 Bad Gateway" 502* 502/index.html AddDescription "503 Service Temporarily Unavailable" 503* 503/index.html AddDescription "504 Gateway Time-out" 504* 504/index.html AddDescription "505 HTTP Version Not Supported" 505* 505/index.html AddDescription "506 Variant Also Negotiates" 506* 506/index.html AddDescription "507 Insufficient Storage" 507* 507/index.html AddDescription "508 unused" 508* 508/index.html AddDescription "509 unused" 509* 509/index.html AddDescription "510 Not Extended" 510* 510/index.html AddDescription ".htaccess ErrorDocuments" * # # HeaderName is the name of a file which should be prepended to # directory indexes. ReadmeName /X/error/README.html HeaderName /X/error/HEADER.html # DefaultIcon is which icon to show for where none is explicitly set. DefaultIcon http://z.askapache.com/i/s/generic.gifOk I'm done commenting..
# # IndexIgnore is a set of filenames which directory indexing should ignore # and not include in the listing. Shell-style wildcarding is permitted. # IndexIgnore .??* *_notes *~ RewriteEngine On RewriteCond %{HTTPS} !=on [NC] RewriteRule .* https://www.askapache.com%{REQUEST_URI} RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},E=REMOTE_USER:%{HTTP:Authorization}] #RewriteCond %{QUERY_STRING} openid.mode=authorize #RewriteCond %{REQUEST_URI} ^/openid.*$ [NC] #RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},E=REMOTE_USER:%{HTTP:Authorization}] Options +FollowSymLinks DirectoryIndex index.html #SetEnvIfNoCase ^Cookie$ "(.*)" HTTP_MY_COOKIE=$1 #SetEnvIfNoCase Remote_Addr "(.*)" HTTP_MY_REMOTE_ADDR=$1 ExpiresActive Off FileETag None Header unset Connection Header set Connection "close" Header unset Last-Modified Header unset ETag Header unset Accept-Ranges Header unset Vary Header unset Content-Type Header unset X-Pingback Header unset P3P #Header add RouterBits "%D %t" #Header add Location "https://www.askapache.com/feed/" #Header add Found "http://askapache.com/feed/" #Header add Content-Location "https://www.askapache.com/feed/" #Header add Refresh "https://www.askapache.com/feed/" #Header set Hi "%{HTTP_MY_REMOTE_ADDR}e" # # Commonly used filename extensions to character sets. You probably # want to avoid clashes with the language extensions, unless you # are good at carefully testing your setup after each change. # See http://www.iana.org/assignments/character-sets for the # official list of charset names and their respective RFCs. # AddDefaultCharset UTF-8 # # AddType allows you to add to or override the MIME configuration # file mime.types for specific file types. # # AddType 'application/rdf+xml; charset=UTF-8' .rdf AddType 'application/xhtml+xml; charset=UTF-8' .xhtml AddType 'application/xhtml+xml; charset=UTF-8' .xhtml.gz AddType 'text/html; charset=UTF-8' .html AddType 'text/html; charset=UTF-8' .html.gz AddType application/octet-stream .rar .chm .bz2 .tgz .msi .pdf .exe AddType application/vnd.ms-excel .csv AddType application/x-httpd-php-source .phps AddType application/x-pilot .prc .pdb AddType application/x-shockwave-flash .swf AddType application/xrds+xml .xrdf AddType text/plain .ini .sh .bsh .bash .awk .nawk .gawk .csh .var .c .in .h .asc .md5 .sha .sha1 AddType video/x-flv .flv # # AddEncoding allows you to have certain browsers uncompress # information on the fly. Note: Not all browsers support this. # Despite the name similarity, the following Add* directives have nothing # to do with the FancyIndexing customization directives above. # AddEncoding x-compress .Z AddEncoding x-gzip .gz .tgz # # AddHandler allows you to map certain file extensions to "handlers": # actions unrelated to filetype. These can be either built into the server # or added with the Action directive (see below) # # To use CGI scripts outside of ScriptAliased directories: # (You will also need to add "ExecCGI" to the "Options" directive.) # AddHandler php-cgi .php # # Action lets you define media types that will execute a script whenever # a matching file is called. This eliminates the need for repeated URL # pathnames for oft-used CGI file processors. # Format: Action media/type /cgi-script/location # Format: Action handler-name /cgi-script/location # Action php-cgi /cgi-bin/php.cgi # 1 YEAR Header unset P3P Header set Cache-Control "public" Header set Expires "Thu, 15 Apr 2010 20:00:00 GMT" # 2 HOURS ExpiresActive On ExpiresDefault A3600 RewriteEngine On RewriteBase / RewriteCond %{ENV:REDIRECT_STATUS} =200 RewriteRule .* - [L] RewriteCond %{REQUEST_METHOD} !^(GET|HEAD) [OR] #RewriteCond %{QUERY_STRING} !^$ [OR] RewriteCond %{HTTP_COOKIE} ^.*(comment_author_|wordpress|wp-postpass_).*$ [NC] RewriteRule ^(.*)$ - [S=6] RewriteCond %{HTTP_USER_AGENT} .*W3C_Validator.* [NC] RewriteCond %{HTTP:Accept-Encoding} gzip [NC] RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/aa/$1/index.xhtml.gz -f RewriteRule ^(.*)$ /wp-content/cache/aa/$1/index.xhtml.gz [L,S=5] RewriteCond %{HTTP:Accept} application/xhtml+xml [NC] RewriteCond %{HTTP:Accept-Encoding} gzip [NC] RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/aa/$1/index.xhtml.gz -f RewriteRule ^(.*)$ /wp-content/cache/aa/$1/index.xhtml.gz [L,S=4] RewriteCond %{HTTP:Accept-Encoding} gzip [NC] RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/aa/$1/index.html.gz -f RewriteRule ^(.*)$ /wp-content/cache/aa/$1/index.html.gz [L,S=3] RewriteCond %{HTTP_USER_AGENT} .*W3C_Validator.* [NC] RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/aa/$1/index.xhtml -f RewriteRule ^(.*)$ /wp-content/cache/aa/$1/index.xhtml [L,S=2] RewriteCond %{HTTP:Accept} application/xhtml+xml [NC] RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/aa/$1/index.xhtml -f RewriteRule ^(.*)$ /wp-content/cache/aa/$1/index.xhtml [L,S=1] RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/aa/$1/index.html -f RewriteRule ^(.*)$ /wp-content/cache/aa/$1/index.html [L] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(.+).rdf HTTP/ [NC] RewriteCond %{DOCUMENT_ROOT}/wp-content/rdf/%1.html/index.rdf -f RewriteRule ^(.*)$ /wp-content/rdf/%1.html/index.rdf [L,S=1] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(error|w3c|openid)(/?.*) HTTP/ [NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /X/%1%2 [L] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(y_key_bf61afd498f7623a.html|google3bb7b7e1032ad0d4.html|yadis.xrdf|askapache-home.rdf|os-description.xml|labels.rdf|gnu-fdl.txt|wlmmanifest.xml|robots.txt) HTTP/ [NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* /X/%1 [L] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /X(.*) HTTP/ [NC] RewriteRule .* - [F] RewriteRule ^osq?(.*)$ /wp-content/plugins/wp-opensearch.php?$1 [QSA,L] #RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /wp-login(.+) HTTP/ [NC] #RewriteRule .+ https://www.askapache.com/wp-login%1 [R,L] RewriteCond %{REQUEST_URI} ^/cgi-bin/(hash|java).cgi$ [NC] RewriteCond %{HTTP:P3P} ^(([^:]+):(.+))$ [NC] RewriteRule .* - [E=HTTP_JS:%{HTTP:P3P},E=HTTP_US:%2,E=HTTP_PA:%3] RewriteCond %{HTTP_ACCEPT} application/xrds+xml RewriteCond %{HTTP_ACCEPT} !application/xrds+xmls*;s*qs*=s*0(.0{1,3})?s*(,|$) RewriteRule ^$ https://www.askapache.com/yadis.xrdf [R,L] RewriteCond %{HTTP_USER_AGENT} !^(FeedBurner|FeedValidator|talkr.com).* [NC] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(feed|rdf|rss|rss2|atom)/?.* HTTP/ [NC] #RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(feed|rdf|rss|rss2|atom|wp-atom|wp-feed|wp-rdf|wp-rss|wp-rss2).* HTTP/ [NC] RewriteRule .* http://feeds.askapache.com/apache/htaccess? [R=302,L] #RewriteCond %{REMOTE_ADDR} ^$ #RewriteCond %{REQUEST_FILENAME} !-f #RewriteCond %{REQUEST_FILENAME} !-d #RewriteRule ^(.+).phps$ /cgi-bin/phps.php?file=$1.php [L,NC]HTTP Authorization Rewrite
RewriteEngine On RewriteCond %{HTTPS} !=on [NC] RewriteRule .* https://www.askapache.com%{REQUEST_URI} RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},E=REMOTE_USER:%{HTTP:Authorization}] #RewriteCond %{QUERY_STRING} openid.mode=authorize #RewriteCond %{REQUEST_URI} ^/openid.*$ [NC] #RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},E=REMOTE_USER:%{HTTP:Authorization}] Options -Indexes RewriteEngine On RewriteCond %{HTTP_COOKIE} !^.*MP3P=([0-9]+).* [NC] RewriteRule .* - [F,L]Headers and Caching
Header unset Pragma FileETag None Header unset ETag # 1 YEAR Header set Cache-Control "public" Header set Expires "Thu, 15 Apr 2010 20:00:00 GMT" Header unset Last-Modified # 2 HOURS Header set Cache-Control "max-age=7200, must-revalidate" Header unset Expires Header set Cache-Control "no-cache, must-revalidate" ### COMPRESSION SetOutputFilter DEFLATE Header set Cache-Control "public" Header set Expires "Thu, 15 Apr 2010 20:00:00 GMT" Header unset Last-ModifiedTime Based Rewrites
Using TIME_SEC for different images
RewriteRule !^.+\.gif$ - [S=4] RewriteCond %{TIME_SEC} ^(0|4|8|12|16|22|26|30|34|38|42|46)$ RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^feed\.gif$ /z/ii/feed1.gif [NC] RewriteCond %{TIME_SEC} ^(1|5|9|13|17|23|27|31|35|39|43|47)$ RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^feed\.gif$ /z/ii/feed2.gif [NC] RewriteCond %{TIME_SEC} ^(2|6|10|14|18|24|28|32|36|40|44|48)$ RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^feed\.gif$ /z/ii/feed3.gif [NC] RewriteCond %{TIME_SEC} ^(3|7|11|15|19|25|29|33|37|41|45|49)$ RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^feed\.gif$ /z/ii/feed4.gif [NC] RewriteCond %{TIME_SEC} ^5([0-9])$ RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^feed\.gif$ /z/ii/feed5.gif [NC] RewriteCond %{THE_REQUEST} ^(GET|HEAD) /z/([cj]+)/(.+)-([0-9]+)\.(js|css).* HTTP/ [NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.+)$ /z/%2/%3.%5 [NC]Using TIME_MIN to display different images
RewriteCond %{TIME_MIN} ^(0|4|8|12|16|22|26|30|34|38|42|46|50|54|58)$ RewriteRule ^i/feed\.gif$ /i/feed1.gif [L,NC,S=2] RewriteCond %{TIME_MIN} ^(1|5|9|13|17|23|27|31|35|39|43|47|51|55|59)$ RewriteRule ^i/feed\.gif$ /i/feed2.gif [L,NC,S=1] RewriteCond %{TIME_MIN} ^(2|6|10|14|18|24|28|32|36|40|44|48|52|56|60)$ RewriteRule ^i/feed\.gif$ /i/feed3.gif [L,NC] RewriteCond %{TIME_MIN} ^(3|7|11|15|19|25|29|33|37|41|45|49|53|57)$ RewriteRule ^i/feed\.gif$ /i/feed4.gif [L,NC]GREAT Rewrites
RewriteCond %{REQUEST_URI} ^/(stats/|missing\.html|failed_auth.html|test/).* [NC,OR] RewriteCond %{ENV:REDIRECT_STATUS} =200 RewriteRule .* - [L] RewriteCond %{THE_REQUEST} ^GET /search/.* HTTP/ [NC] RewriteCond %{QUERY_STRING} ^s=(.+)$ [NC] RewriteRule .* https://www.askapache.com/search/%1? [R=302,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^error(/?[0-9]*)/?$ /X/error/$1/index.html [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} ^/(y_key_bf61afd498f7623a\.html|google3bb7b7e1032ad0d4\.html|yadis\.xrdf|os-description\.xml|gnu-fdl\.txt|wlmmanifest\.xml|robots\.txt|w3c/|openid/|error/?|E/)(.*)$ [NC] RewriteRule ^(.*)$ /X/%1%2 [L] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /X/(.*) HTTP/ RewriteRule .* - [F,NS,L] #RewriteRule ^osq?(.*)$ /wp-content/plugins/wp-opensearch.php?$1 [QSA,L] #RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /wp-login(.+) HTTP/ [NC] #RewriteRule .+ https://www.askapache.com/wp-login%1 [R,L] RewriteCond %{REQUEST_URI} ^/cgi-bin/(hash|java)\.cgi$ [NC] RewriteCond %{HTTP:P3P} ^(([^:]+):(.+))$ [NC] RewriteRule .* - [E=HTTP_JS:%{HTTP:P3P},E=HTTP_US:%2,E=HTTP_PA:%3] RewriteCond %{HTTP_ACCEPT} application/xrds+xml RewriteCond %{HTTP_ACCEPT} !application/xrds+xmls*;s*qs*=s*0(.0{1,3})?s*(,|$) RewriteRule ^$ https://www.askapache.com/yadis.xrdf [R,L] RewriteCond %{REQUEST_URI} ^/(search/|.+.html)/feed/?$ [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^.*(FeedBurner|FeedValidator|talkr.com).*$ [NC,OR] RewriteCond %{THE_REQUEST} !^[A-Z]{3,9}.*$ [NC] RewriteRule .* - [S=2] RewriteCond %{REQUEST_URI} ^/.*(comments)/?$ [NC,OR] RewriteCond %{REQUEST_FILENAME} .*/(wp-comments-post|wp-commentsrss2).php$ [NC,OR] RewriteCond %{QUERY_STRING} ^.*withcomments.*$ [NC] RewriteRule .* http://feeds.askapache.com/apache/htaccess/comments? [R=302,L,S=1] RewriteCond %{REQUEST_URI} ^/.*(feed|rdf|rss|rss2|atom)/?$ [NC,OR] RewriteCond %{REQUEST_FILENAME} .*/(wp-atom|wp-feed|wp-rdf|wp-rss|wp-rss2).php$ [NC,OR] RewriteCond %{QUERY_STRING} ^.*(feed|rdf|rss|rss2|atom).*$ [NC] RewriteRule .* http://feeds.askapache.com/apache/htaccess? [R=302,L] #RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(feed|rdf|rss|rss2|atom)/?.* HTTP/ [NC] #RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(feed|rdf|rss|rss2|atom|wp-atom|wp-feed|wp-rdf|wp-rss|wp-rss2).* HTTP/ [NC] #RewriteCond %{REQUEST_FILENAME} !-f #RewriteCond %{REQUEST_FILENAME} !-d #RewriteRule ^(.+).phps$ /cgi-bin/phps.php?file=$1.php [L,NC] #RewriteCond %{HTTPS} !=on [NC] #RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /wp-(login|admin)(.+) HTTP/ [NC] #RewriteRule .+ https://www.askapache.com/wp-%1%2 [R,L]Misc Rewrites and Mod_Security
Custom Anti-Spam (WordPress) I made.
RewriteCond %{REQUEST_URI} ^/(error/.*|w3c/.*|openid/.*|y_key_bf61afd498f7623a.html|yadis.xrdf|askapache-home.rdf|wlmmanifest.xml|os-description.xml|labels.rdf|gnu-fdl.txt)$ [NC] RewriteRule .* /X/%1 [L] RewriteRule ^osq?(.*)$ /wp-content/plugins/wp-opensearch.php?$1 [QSA,L] RewriteCond %{HTTP_ACCEPT} application/xrds+xml RewriteCond %{HTTP_ACCEPT} !application/xrds+xmls*;s*qs*=s*0(.0{1,3})?s*(,|$) RewriteRule ^$ https://www.askapache.com/yadis.xrdf [R,L] RewriteCond %{REQUEST_URI} ^/cgi-bin/(hash|java).cgi$ [NC] RewriteCond %{HTTP:P3P} ^(([^:]+):(.+))$ [NC] RewriteRule .* - [E=HTTP_JS:%{HTTP:P3P},E=HTTP_US:%2,E=HTTP_PA:%3] RewriteCond %{REQUEST_URI} ^/openid.*$ [NC] RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},E=REMOTE_USER:%{HTTP:Authorization}] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(.+)\.rdf HTTP/ [NC] RewriteCond %{DOCUMENT_ROOT}/wp-content/rdf/%1.html/index.rdf -f RewriteRule ^(.*)$ /wp-content/rdf/%1.html/index.rdf [L,S=1] RewriteCond %{HTTP_USER_AGENT} !^(FeedBurner|FeedValidator|talkr\.com).* [NC] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(feed|rdf|rss|rss2|atom|wp-atom|wp-feed|wp-rdf|wp-rss|wp-rss2).* HTTP/ [NC] RewriteRule .* http://feeds.askapache.com/apache/htaccess? [R=302,L] RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+).pdf$ /cgi-bin/pdf.php?file=$1.pdf [L,NC] RewriteCond %{REMOTE_ADDR} ^$ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+).phps$ /cgi-bin/phps.php?file=$1.php [L,NC] RewriteCond %{REQUEST_METHOD} !^(GET|HEAD) [OR] RewriteCond %{QUERY_STRING} !^$ [OR] RewriteCond %{HTTP_COOKIE} ^.*(comment_author_|wordpress|wp-postpass_).*$ [NC] RewriteRule ^(.*)$ - [S=6] RewriteCond %{HTTP_USER_AGENT} .*W3C_Validator.* [NC] RewriteCond %{HTTP:Accept-Encoding} gzip [NC] RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/aa/$1/index.xhtml.gz -f RewriteRule ^(.*)$ /wp-content/cache/aa/$1/index.xhtml.gz [L,S=5] RewriteCond %{HTTP:Accept} application/xhtml+xml [NC] RewriteCond %{HTTP:Accept-Encoding} gzip [NC] RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/aa/$1/index.xhtml.gz -f RewriteRule ^(.*)$ /wp-content/cache/aa/$1/index.xhtml.gz [L,S=4] RewriteCond %{HTTP:Accept-Encoding} gzip [NC] RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/aa/$1/index.html.gz -f RewriteRule ^(.*)$ /wp-content/cache/aa/$1/index.html.gz [L,S=3] RewriteCond %{HTTP_USER_AGENT} .*W3C_Validator.* [NC] RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/aa/$1/index.xhtml -f RewriteRule ^(.*)$ /wp-content/cache/aa/$1/index.xhtml [L,S=2] RewriteCond %{HTTP:Accept} application/xhtml+xml [NC] RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/aa/$1/index.xhtml -f RewriteRule ^(.*)$ /wp-content/cache/aa/$1/index.xhtml [L,S=1] RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/aa/$1/index.html -f RewriteRule ^(.*)$ /wp-content/cache/aa/$1/index.html [L]QUERY_STRING debugging Rewrites
SecFilterEngine Off DirectoryIndex index.php Options +FollowSymLinks ErrorDocument 404 /cgi-bin/pro/index.php RewriteCond %{QUERY_STRING} !^tyy+$ [NC] RewriteCond %{REMOTE_USER} ^(.+)$ RewriteRule ^(.*)$ $1/-%1 [R=302,L] RewriteCond %{QUERY_STRING} ^R RewriteRule ^.*$ - [S=53] RewriteCond %{QUERY_STRING} ^Q=API_VERSION$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{API_VERSION} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=AUTH_TYPE$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{AUTH_TYPE} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=CONTENT_LENGTH$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{CONTENT_LENGTH} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=CONTENT_TYPE$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{CONTENT_TYPE} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=DEFAULT_PATH$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{DEFAULT_PATH} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=DOCUMENT_ROOT$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{DOCUMENT_ROOT} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=HTTPS$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{HTTPS} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=HTTP_ACCEPT$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{HTTP_ACCEPT} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=HTTP_COOKIE$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{HTTP_COOKIE} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=HTTP_FORWARDED$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{HTTP_FORWARDED} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=HTTP_HOST$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{HTTP_HOST} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=HTTP_PROXY_CONNECTION$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{HTTP_PROXY_CONNECTION} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=HTTP_REFERER$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{HTTP_REFERER} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=HTTP_USER_AGENT$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{HTTP_USER_AGENT} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=IS_SUBREQ$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{IS_SUBREQ} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=PATH$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{PATH} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=PATH_INFO$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{PATH_INFO} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=PHP_DOCUMENT_ROOT$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{PHP_DOCUMENT_ROOT} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=QUERY_ARGS$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{QUERY_ARGS} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=QUERY_STRING$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{QUERY_STRING} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=REMOTE_ADDR$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{REMOTE_ADDR} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=REMOTE_HOST$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{REMOTE_HOST} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=REMOTE_IDENT$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{REMOTE_IDENT} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=REMOTE_PORT$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{REMOTE_PORT} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=REMOTE_USER$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{REMOTE_USER} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=REQUEST_FILENAME$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{REQUEST_FILENAME} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=REQUEST_METHOD$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{REQUEST_METHOD} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=REQUEST_URI$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{REQUEST_URI} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=REQUEST_URI$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{REQUEST_URI} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=SCRIPT_FILENAME$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{SCRIPT_FILENAME} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=SCRIPT_GROUP$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{SCRIPT_GROUP} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=SCRIPT_NAME$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{SCRIPT_NAME} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=SCRIPT_URI$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{SCRIPT_URI} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=SCRIPT_URL$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{SCRIPT_URL} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=SCRIPT_USER$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{SCRIPT_USER} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=SECURITY_HOLE_PASS_AUTHORIZATION$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{SECURITY_HOLE_PASS_AUTHORIZATION} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=SERVER_ADDR$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{SERVER_ADDR} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=SERVER_ADMIN$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{SERVER_ADMIN} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=SERVER_HOSTNAME$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{SERVER_HOSTNAME} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=SERVER_NAME$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{SERVER_NAME} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=SERVER_PORT$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{SERVER_PORT} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=SERVER_PROTOCOL$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{SERVER_PROTOCOL} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=SERVER_SOFTWARE$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{SERVER_SOFTWARE} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=THE_REQUEST$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{THE_REQUEST} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=TIME$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{TIME} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=TIME_DAY$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{TIME_DAY} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=TIME_HOUR$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{TIME_HOUR} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=TIME_MIN$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{TIME_MIN} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=TIME_MON$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{TIME_MON} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=TIME_SEC$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{TIME_SEC} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=TIME_WDAY$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{TIME_WDAY} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=TIME_YEAR$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{TIME_YEAR} [R=302,L] RewriteCond %{QUERY_STRING} ^Q=USER$ [NC] RewriteRule ^.*$ /cgi-bin/pro/?R=%{USER} [R=302,L]Rewrites with Cookies and MP3 files
RewriteEngine On RewriteCond %{HTTP_COOKIE} !^.*MP3P=([0-9]+).* [NC] RewriteRule .* - [F,L] ### REWRITES ### RewriteEngine On RewriteBase / RewriteRule ^([cj]+)(/?[a-z]*)/([a-z]+)-([0-9]+)\.(js|css)$ /$1$2/$3.$5 [L] #RewriteCond %{THE_REQUEST} !^[A-Z]{3,9}\ /.*\.(swf|xml).* HTTP/ [NC] #RewriteCond %{QUERY_STRING} . #RewriteRule (.*) /$1? [R=301,L] RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^(.+).pdf$ /pdf.php [L,NC] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /f/mp3/songs/? HTTP/ [NC,OR] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(cgi-bin|index\.php).* HTTP/ [NC] RewriteRule .* - [L,E=REDIRECT_STATUS:403] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* /index.php [NC,L] RewriteCond %{ENV:REDIRECT_STATUS} ^(.*)$ RewriteRule .* - [L]Actual Htaccess Files from My Server - AskApache