Block IP:
<RequireAll>
Require all granted
Require not ip 1.2.3.4
</RequireAll>
Force www, or non www, redirect.
#Force www:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]#Force www:
#Force non-www:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
Redirect all traffic to SSL site.
RewriteEngine on
RewriteCond %{SERVER_PORT} !443 [NC]
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L,QSA]Redirect iPhones:
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} iPhone
RewriteCond %{REQUEST_URI} !^/my-iPhone-site/
RewriteRule .* /my-iPhone-site/ [R]
Block access by file extension:
<Files ~ "\.inc$"> Order allow,deny Deny from all </Files> Or: <FilesMatch "\.(htaccess|htpasswd|ini|log|sh|inc|bak)$"> Order Allow,Deny Deny from all </FilesMatch>
Redirect based on query string:
RewriteCond %{QUERY_STRING} option=com_xius&view=list&listid=19&task=showList&Itemid=3163 [NC]
RewriteRule ^index.php http://www.example.com/page-name [QSD,L,R=301]
Password protect directory using 2.4 directives:
<RequireAny>
<RequireAll>
AuthType Basic
AuthName "Password Protected"
AuthUserFile /home/perfumes/.htpasswds/public_html/devspace/passwd
Require valid-user
</RequireAll>
</RequireAny>
For Apache 2.2 Just remove the “Require” lines:
AuthType Basic AuthName "Password Protected" AuthUserFile /home/perfumes/.htpasswds/public_html/devspace/passwd Require valid-user
Redirect old domain to a new domain.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ http://example2.com/$1 [L,R=301,NC]
RewriteEngine On RewriteRule ^ftp/pub/(.*)$ /repos/$1 [NC,L] RewriteRule ^pub/(.*)$ /repos/$1 [NC,L]