Aquesta és una revisió antiga del document


.htaccess, tutorial y ejemplos

  • denegar acceso total a carpeta:
    deny from all
  • denegar acceso total, excepto determinada IP o rango:
    deny from all
    allow from x.x.x.x
    allow from y.y.y.y/x
  • denegar acceso a un archivo:
    <Files fichero.extension>
    order allow,deny
    deny from all
    </Files>
  • carpetas navegables:
    Options +Indexes +MultiViews +FollowSymlinks
  • más opciones para las carpetas navegables:
    IndexOptions FancyIndexing
  • prevenir el listado de carpetas:
    IndexIgnore *
  • RewriteEngine on
    RewriteCond %{HTTP_REFERER} ejemplo\.com [NC,OR]
    RewriteCond %{HTTP_REFERER} otroejemplo\.com
    RewriteRule .* - [F]
  • Si el visitante no es de mi sitio -example.com- y pide un fichero de esas extensiones, redireccionalo a un arhivo .gif :
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://([-a-z0-9]+\.)?example\.com[NC]
    RewriteRule .*\.(zip|mp3|avi|wmv|mpg|mpeg)$ http://www.example.com/images/nohotlink.gif [R,NC,L]
  • ojo con enlaces que si que quieres permitir - como un RSS - a alguno de tus ficheros

niega cualquier conexión desde cualquier sitio

deny from all

no muestra listado de ficheros

Options -Indexes
Indexignore *
  • activar compresión de datos inherente a PHP:
    php_value zlib.output_compression 16386
  • usando la directiva Files sobre el fichero a ocultar y:
    order allow,deny
    deny from all
    satisfy all
  • ErrorDocument 404 /errores/noencontrado.html
  • que la página tenga más de 512 bytes para evitar la «funcionalidad» de Internet Explorer de sustituir por una página propia las que pesan menos de eso
Directoryindex index.php index2.php

es necesario renombrar los ficheros a la nueva extensión

# Make PHP code look like unknown types
AddType application/x-httpd-php .cool

permite contenido dinámico dentro de páginas estáticas que se intepretan por el servidor http://httpd.apache.org/docs/2.2/howto/ssi.html para hacerlo sobre páginas con extensión .shtml (por no mezclar con las .html, aunque se puede y puede que sea más sencillo si tienes algo en marcha):

Options +Includes
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
AddHandler server-parsed .shtml  # ?

debe estar habilitado el auth_basic.load en /etc/apache2/mods-enabled

AuthName "Directorio privado"
AuthType Basic
AuthUserFile .htpasswd
require valid-user
  • es necesario crear el fichero .htpasswd con los usuarios/contraseñas
  • el fichero .htpasswd he de tener ruta absoluta o relativa al ServerRoot
  • se puede proteger un archivo, poniendo el código dentro de una directiva Files

debe estar habilitado el auth_digest.load en /etc/apache2/mods-enabled

 
.htaccess
RewriteEngine on
rewriterule ^(.*)coneixelteucervell(.*)$ https://fidmag.org/ca/subwebs/participa-i-descobreix-el-teu-cervell.html [r=301,nc]
rewriterule ^(.*)$ https://fidmag.org/es/subwebs-esp/participa-y-descubre-tu-cerebro.html [r=301,nc]
  • redirecció en fitxer configuració virtualhost de :80 a :443
<VirtualHost *:80>
    ServerName landing.fidmag.org
    Redirect permanent / https://landing.fidmag.org/
</VirtualHost>

<VirtualHost *:80>
    ServerName brainpredict.com
    ServerAlias www.brainpredict.com 
    Redirect permanent / https://brainpredict.com/
</VirtualHost>

<VirtualHost *:443>
    ServerAdmin webmaster@localhost
    ServerName landing.fidmag.org
    ServerAlias braindredict.com

    DocumentRoot /var/landing.fidmag.org/public
    <Directory /var/landing.fidmag.org/public>
        #Options -Indexes
        Options FollowSymLinks Indexes
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog /var/landing.fidmag.org/log/error.log
    CustomLog /var/landing.fidmag.org/log/access.log combined

    SSLEngine on
    SSLCertificateFile  /etc/letsencrypt/live/landing.fidmag.org/ssl.pem

    <FilesMatch "\.(cgi|shtml|phtml|php)$">
            SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory /usr/lib/cgi-bin>
            SSLOptions +StdEnvVars
    </Directory>
</VirtualHost>
  • web/apache/htaccess/start.1592650285.txt.gz
  • Darrera modificació: 20/06/2020 03:51
  • per admin