diff --git a/docs/manual/bind.html.de b/docs/manual/bind.html.de index 80d434a0ae..bf426c37ee 100644 --- a/docs/manual/bind.html.de +++ b/docs/manual/bind.html.de @@ -222,7 +222,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/trunk/bind.html'; } })(window, document); //-->
- - -Versin 2.5 del Servidor HTTP Apache
-
Los ficheros .htaccess facilitan una forma de realizar
- cambios en la configuracin en contexto directorio.
Ficheros .htaccess
Qu son/Cmo usarlos
Cuando (no) usar ficheros .htaccess
How directives are applied
Ejemplo de Autenticacin
Ejemplo de Server Side Includes
Reglas de Rewrite en ficheros .htaccess
Ejemplo de CGI
Resolucin de problemas| Mdulos Relacionados | Directivas Relacionadas |
|---|---|
.htaccess completamente si
- tiene acceso al fichero de configuracin principal de httpd. Usar ficheros
- .htaccess ralentiza su servidor Apache http. Cualquier
- directiva que pueda incluir en un fichero .htaccess
- estar mejor configurada dentro de una seccin
- Directory, tendr el mismo efecto y
- mejor rendimiento.Los ficheros .htaccess (o "ficheros de configuracin
- distribuida") facilitan una forma de realizar cambios en la configuracin
- en contexto directorio. Un fichero, que contiene una o ms directivas, se
- coloca en un documento especfico de un directorio, y estas directivas
- aplican a ese directorio y todos sus subdirectorios.
Si quiere llamar a su fichero .htaccess de otra manera,
- puede cambiar el nombre del fichero usando la directiva AccessFileName. Por ejemplo, si usted prefiere
- llamar al fichero .config, entonces puede poner lo siguiente
- en el fichero de configuracin de su servidor:
AccessFileName ".config"- -
Generalmente, los ficheros .htaccess usan la misma sintxis
- que los ficheros de la configuracin
- principal. Lo que puede utilizar en estos ficheros lo determina la
- directiva AllowOverride. Esta directiva
- especifica, en categoras, qu directivas tendrn efecto si se encuentran en
- un fichero .htaccess. Si se permite una directiva en un fichero
- .htaccess, la documentacin para esa directiva contendr una
- seccin Override, especificando qu valor debe ir en
- AllowOverride para que se permita esa
- directiva.
Por ejemplo, si busca en la documentacin la directiva AddDefaultCharset, encontrar que se permite en
- ficheros .htaccess. (Vea la lnea de Contexto en el sumario de
- la directiva.) La lnea Override muestra
- FileInfo. De este modo, debe tener al menos
- AllowOverride FileInfo para que esta directiva se aplique en
- ficheros .htaccess.
| Context: | -server config, virtual host, directory, .htaccess | -
| Override: | -FileInfo | -
Si no est seguro de cundo, una directiva en concreto, se puede usar en un
- fichero .htaccess, consulte la documentacin para esa directiva,
- y compruebe la lnea Context buscando ".htaccess".
Generalmente, solo debera usar ficheros .htaccess cuando no
- tiene acceso al fichero principal de configuracin del servidor. Hay, por
- ejemplo, una creencia errnea de que la autenticacin de usuario debera
- hacerse siempre dentro de ficheros .htaccess, y, ms recientemente, otra creencia errnea de que las directivas de
- mod_rewrite deben ir en ficheros .htaccess.
- Esto sencillamente no es el caso. Puede poner las configuraciones de
- autenticacin de usuario en la configuracin principal del servidor, y esto
- es de hecho, el mtodo preferido de configurar Apache. Del mismo modo, las
- directivas mod_rewrite funcionan mejor, en muchos sentidos, en
- el fichero de configuracin principal del servidor.
Los ficheros .htaccess deberan usarse cuando su proveedor
- de contenidos le permite hacer modificaciones de configuracin
- en contexto directorio, pero usted no tiene acceso de root en el servidor.
- En el caso de que el administrador no est dispuesto a hacer cambios
- frecuentes en la configuracin, puede que sea necesario permitir a usuarios
- individuales realizar estos cambios de configuracin en ficheros
- .htaccess por ellos mismos. Lo cual ocurre a menudo, por
- ejemplo, en casos donde los ISP estn albergando mltiples sitios web de
- usuario en una sola mquina, y quieren que sus usuarios tengan la
- posibilidad de modificar sus configuraciones.
Aun as, generalmente, el uso de ficheros .htaccess debera
- evitarse cuando sea posible. Cualquier configuracin que considerara poner
- en un fichero .htaccess, puede usarse con la misma efectividad
- en una seccin <Directory> en el fichero de configuracin
- del servidor.
Hay dos razones para evitar el uso de ficheros .htaccess.
La primera es el rendimiento. Cuando AllowOverride
- est configurado para permitir el uso de ficheros .htaccess,
- httpd buscar ficheros .htaccess en cada directorio. As,
- permitiendo ficheros .htaccess provoca una prdida de
- rendimiento, incluso aunque no los use! Adems, los ficheros
- .htaccess se cargan cada vez que se solicita un documento.
Adems tenga en cuenta que httpd debe buscar ficheros
- .htaccess en todos los directorios de mayor jerarqua,
- para poder terner la lista completa de directivas que debe aplicar. (Vea
- la seccin sobre Cmo se aplican las directivas.) As, si
- se solicita un fichero de un directorio /www/htdocs/example,
- httpd debe buscar los siguientes ficheros:
- /.htaccess
- /www/.htaccess
- /www/htdocs/.htaccess
- /www/htdocs/example/.htaccess
-
De esta manera, por cada acceso a un fichero de ese directorio, hay 4
- accesos adicionales al sistema de ficheros, incluso si ninguno de esos
- ficheros est presente. (Tenga en cuenta que este caso solo se dara si los
- ficheros .htaccess estn activados en /, que
- generalmente no es el caso.).
En el caso de las directivas RewriteRule, en el contexto de
- .htaccess estas expresiones regulares deben recompilarse con
- cada solicitud a ese directorio, cuando en el contexto de configuracin del
- servidor solo se compilan una vez y se cachean. Adicionalmente, las reglas
- en s mismas son ms complicadas, puesto que uno debe sortear las
- restricciones que vienen acompaadas del contexto directorio y
- mod_rewrite. Consulte la Gua de Rewrite para un mayor
- detalle sobre este tema.
La segunda consideracin es de seguridad. Estar permitiendo que usuarios
- modifiquen la configuracin del servidor, lo cual puede dar lugar a cambios sobre los que usted no tendr ningn control. Medite profundamente si debe
- dar a sus usuarios ese privilegio. Adems tenga en cuenta que dar a los usuarios menos privilegios de los que necesitan dar lugar a ms peticiones
- de soporte. Asegrese de que le indica a sus usuarios claramente el nivel de privilegios que les est dando. Especificando exactamente cmo ha
- configurado AllowOverride, e invteles
- a revisar la documentacin relacionada, lo cual le ahorrar
- bastantes confusiones ms adelante.
Tenga en cuenta que esto es equivalente por completo a poner un fichero
- .htaccess en un directorio /www/htdocs/example
- con una directiva, y poner la misma directiva en una seccin
- Directory <Directory "/www/htdocs/example"> en su
- configuracin principal del servidor:
Fichero .htaccess en /www/htdocs/example:
/www/htdocs/exampleAddType text/example ".exm"-
httpd.conf<Directory "/www/htdocs/example"> - AddType text/example ".exm" -</Directory>-
Aun as, poniendo sta en el fichero de configuracin dar como resultado - una menor prdida de rendimiento, y como la configuracin se carga una vez - cuando el httpd arranca, en lugar de cada vez que se solicita un fichero.
- -El uso de ficheros .htaccess puede desactivarse por completo
- configurando la directiva AllowOverride
- a none:
AllowOverride None- -
Las directivas de configuracin que se encuentran en el fichero
- .htaccess se aplican al directorio en el que el fichero
- .htaccess se encuentra, y a todos sus subdirectorios. Sin
- embargo, es importante recordar que puede haber otros ficheros
- .htaccess en directorios previos. Las directivas se aplican en
- el orden en el que se encuentran. Por lo tanto, un fichero
- .htaccess puede sobrescribir directivas que se encuentran
- en ficheros .htaccess que se encuentran en directorios previos
- del rbol de directorios. Y estos, en cambio, pueden haber sobrescrito
- directivas que se encontraban ms arriba, o en el fichero principal de
- configuracin del servidor mismo.
Ejemplo:
- -En el directorio /www/htdocs/example1 tenemos un fichero
- .htaccess que contiene lo siguiente:
Options +ExecCGI- - -
(Nota: debe terner "AllowOverride Options" configurado para
- permitir el uso de la directiva "Options" en ficheros
- .htaccess files.)
En el directorio /www/htdocs/example1/example2 tenemos un
- fichero .htaccess que contiene:
Options Includes- - -
Por este segundo fichero .htaccess, en el directorio
- /www/htdocs/example1/example2, la ejecucin de CGI execution no
- est permitida, porque solo se ha definido Options Includes,
- que sobrescribe completamente una configuracin previa que se pudiera haber
- definido.
Como se ha comentado en la documentacin en las Secciones de Configuracin, los ficheros
- .htaccess pueden sobrescribir las secciones <Directory> por el directorio
- correspondiente, pero se sobrescribirn por otros tipos de secciones de
- configuracin de los ficheros de configuracin principal. Este hecho se
- puede usar para forzar ciertas configuraciones, incluso en presencia
- de una configuracin laxa de
- AllowOverride. Por ejemplo, para
- prevenir la ejecucin de un script mientras se permite cualquier otra cosa
- en .htaccess puede usar:
<Directory "/www/htdocs"> - AllowOverride All -</Directory> - -<Location "/"> - Options +IncludesNoExec -ExecCGI -</Location>- - -
DocumentRoot es /www/htdocs.Si salt directamente a esta parte del documento para averiguar como
- hacer la autenticacin, es important que tenga en cuenta una cosa. Hay una
- creencia errnea de que necesita usar ficheros .htaccess para
- configurar autenticacin con contrasea. Este no es el caso. Colocar las
- directivas de autenticacin en una seccin
- <Directory>, en su fichero
- de configuracin principal, es el mtodo recomendado para configurar esto,
- y los ficheros .htaccess deberan usarse solamente si no tiene
- acceso al fichero de configuracin principal del servidor. Vea ms arriba una explicacin de cuando debera y cuando no
- debera usar ficheros .htaccess.
Dicho esto, si todava cree que debe usar el fichero
- .htaccess, podr ver que una configuracin como la que sigue
- podra servirle.
Contenido del fichero .htaccess:
AuthType Basic -AuthName "Password Required" -AuthUserFile "/www/passwords/password.file" -AuthGroupFile "/www/passwords/group.file" -Require group admins- - -
Tenga en cuenta que AllowOverride AuthConfig debe estar
- habilitado para que estas directivas tengan algn efecto.
Por favor vea el tutorial de autenticacin para - una explicacin ms completa de la autenticacin y la autorizacin.
-Otro uso comn de ficheros .htaccess es activar Server Side
- Includes para un directorio en particular. Esto puede hacerse
- con las siguientes directivas de configuracin, colocadas en un fichero
- .htaccess y el directorio deseado:
Options +Includes -AddType text/html "shtml" -AddHandler server-parsed shtml- - -
Tenga en cuenta que AllowOverride Options y
- AllowOverride FileInfo deben estar activadas para que estas
- directivas tengan efecto.
Por favor vea el tutorial de SSI para una - explicacin ms completa de server-side includes.
-Cuando use RewriteRule en
- ficheros .htaccess, tenga en cuenta que el contexto
- directorio cambia las cosas un poco. En concreto, las reglas son
- relativas al directorio actual, en lugar de serlo de la peticin de URI
- solicitada originalmente.
- Considere los siguientes ejemplos:
# En httpd.conf -RewriteRule "^/images/(.+)\.jpg" "/images/$1.png" - -# En .htaccess en el directorio raz -RewriteRule "^images/(.+)\.jpg" "images/$1.png" - -# En .htaccess en images/ -RewriteRule "^(.+)\.jpg" "$1.png"- - -
En un .htaccess en cualquier directorio del DocumentRoot, la
- barra ("/") inicial se elimina del valor facilitado a RewriteRule, y en el subdirectorio
- images, se elimina /images/ tambin de este valor.
- As, su expresin regular necesita omitir tambin esa parte.
Consulte la documentacin de mod_rewrite para
- ms detalles al usar mod_rewrite.
Finalmente, puede que quiera usar un fichero .htaccess para
- permitir la ejecucin de programas CGI en un directorio en particular. Esto
- se puede implementar con la siguiente configuracin:
Options +ExecCGI -AddHandler cgi-script "cgi" "pl"- - -
Alternativamente, si quiere considerar como programas CGI todos los - ficheros de un directorio concreto, esto se puede conseguir con la siguiente - configuracin:
- -Options +ExecCGI -SetHandler cgi-script- - -
Tenga en cuenta que AllowOverride Options y
- AllowOverride FileInfo deben estar ambas activadas para que
- estas directivas tengan efecto.
Por favor vea el tutorial CGI para mayor detalle - sobre programacin y configuracin de CGI.
- -Cuando pone directivas en un fichero .htaccess y no obtiene
- el efecto deseado hay una serie de cosas que pueden haber ido mal.
El problema ms comn es que AllowOverride
- no est configurada para que sus directivas puedan surtir
- efecto. Asegrese de que no tiene AllowOverride None
- configurado para el directorio en cuestin. Una buena forma de probar esto
- es poner "basura" en su fichero .htaccess y recargar la pgina.
- Si no se genera un error en el servidor, casi seguro que tiene configurado
- AllowOverride None.
Si, por otro lado, obtiene errores de servidor al intentar acceder a
- documentos, compruebe el log de errores de httpd. Seguramente le indiquen
- que la directiva en uso en su fichero .htaccess no est
- permitida.
- [Fri Sep 17 18:43:16 2010] [alert] [client 192.168.200.51] /var/www/html/.htaccess: DirectoryIndex not allowed here
-
Esto indicar que o bien ha usado una directiva que no se permite nunca
- en ficheros .htaccess, o que simplementa no tiene
- AllowOverride configurado
- a un nivel suficiente para la directiva que ha usado. Consulte la
- documentacin para esa directiva en particular para determinar cual es el
- caso.
Alternativamente, puede que le indique que hay un error de sintaxis en - el uso de la propia directiva.
- -
- [Sat Aug 09 16:22:34 2008] [alert] [client 192.168.200.51] /var/www/html/.htaccess: RewriteCond: bad flag delimiters
-
En este caso, el mensaje de error debera ser especfico para el error de - sintaxis concreto que ha cometido.
- -Versin 2.5 del Servidor HTTP Apache
+
Los ficheros .htaccess facilitan una forma de realizar
+ cambios en la configuracin en contexto directorio.
Ficheros .htaccess
Qu son/Cmo usarlos
Cuando (no) usar ficheros .htaccess
How directives are applied
Ejemplo de Autenticacin
Ejemplo de Server Side Includes
Reglas de Rewrite en ficheros .htaccess
Ejemplo de CGI
Resolucin de problemas| Mdulos Relacionados | Directivas Relacionadas |
|---|---|
.htaccess completamente si
+ tiene acceso al fichero de configuracin principal de httpd. Usar ficheros
+ .htaccess ralentiza su servidor Apache http. Cualquier
+ directiva que pueda incluir en un fichero .htaccess
+ estar mejor configurada dentro de una seccin
+ Directory, tendr el mismo efecto y
+ mejor rendimiento.Los ficheros .htaccess (o "ficheros de configuracin
+ distribuida") facilitan una forma de realizar cambios en la configuracin
+ en contexto directorio. Un fichero, que contiene una o ms directivas, se
+ coloca en un documento especfico de un directorio, y estas directivas
+ aplican a ese directorio y todos sus subdirectorios.
Si quiere llamar a su fichero .htaccess de otra manera,
+ puede cambiar el nombre del fichero usando la directiva AccessFileName. Por ejemplo, si usted prefiere
+ llamar al fichero .config, entonces puede poner lo siguiente
+ en el fichero de configuracin de su servidor:
AccessFileName ".config"+ +
Generalmente, los ficheros .htaccess usan la misma sintxis
+ que los ficheros de la configuracin
+ principal. Lo que puede utilizar en estos ficheros lo determina la
+ directiva AllowOverride. Esta directiva
+ especifica, en categoras, qu directivas tendrn efecto si se encuentran en
+ un fichero .htaccess. Si se permite una directiva en un fichero
+ .htaccess, la documentacin para esa directiva contendr una
+ seccin Override, especificando qu valor debe ir en
+ AllowOverride para que se permita esa
+ directiva.
Por ejemplo, si busca en la documentacin la directiva AddDefaultCharset, encontrar que se permite en
+ ficheros .htaccess. (Vea la lnea de Contexto en el sumario de
+ la directiva.) La lnea Override muestra
+ FileInfo. De este modo, debe tener al menos
+ AllowOverride FileInfo para que esta directiva se aplique en
+ ficheros .htaccess.
| Context: | +server config, virtual host, directory, .htaccess | +
| Override: | +FileInfo | +
Si no est seguro de cundo, una directiva en concreto, se puede usar en un
+ fichero .htaccess, consulte la documentacin para esa directiva,
+ y compruebe la lnea Context buscando ".htaccess".
Generalmente, solo debera usar ficheros .htaccess cuando no
+ tiene acceso al fichero principal de configuracin del servidor. Hay, por
+ ejemplo, una creencia errnea de que la autenticacin de usuario debera
+ hacerse siempre dentro de ficheros .htaccess, y, ms recientemente, otra creencia errnea de que las directivas de
+ mod_rewrite deben ir en ficheros .htaccess.
+ Esto sencillamente no es el caso. Puede poner las configuraciones de
+ autenticacin de usuario en la configuracin principal del servidor, y esto
+ es de hecho, el mtodo preferido de configurar Apache. Del mismo modo, las
+ directivas mod_rewrite funcionan mejor, en muchos sentidos, en
+ el fichero de configuracin principal del servidor.
Los ficheros .htaccess deberan usarse cuando su proveedor
+ de contenidos le permite hacer modificaciones de configuracin
+ en contexto directorio, pero usted no tiene acceso de root en el servidor.
+ En el caso de que el administrador no est dispuesto a hacer cambios
+ frecuentes en la configuracin, puede que sea necesario permitir a usuarios
+ individuales realizar estos cambios de configuracin en ficheros
+ .htaccess por ellos mismos. Lo cual ocurre a menudo, por
+ ejemplo, en casos donde los ISP estn albergando mltiples sitios web de
+ usuario en una sola mquina, y quieren que sus usuarios tengan la
+ posibilidad de modificar sus configuraciones.
Aun as, generalmente, el uso de ficheros .htaccess debera
+ evitarse cuando sea posible. Cualquier configuracin que considerara poner
+ en un fichero .htaccess, puede usarse con la misma efectividad
+ en una seccin <Directory> en el fichero de configuracin
+ del servidor.
Hay dos razones para evitar el uso de ficheros .htaccess.
La primera es el rendimiento. Cuando AllowOverride
+ est configurado para permitir el uso de ficheros .htaccess,
+ httpd buscar ficheros .htaccess en cada directorio. As,
+ permitiendo ficheros .htaccess provoca una prdida de
+ rendimiento, incluso aunque no los use! Adems, los ficheros
+ .htaccess se cargan cada vez que se solicita un documento.
Adems tenga en cuenta que httpd debe buscar ficheros
+ .htaccess en todos los directorios de mayor jerarqua,
+ para poder terner la lista completa de directivas que debe aplicar. (Vea
+ la seccin sobre Cmo se aplican las directivas.) As, si
+ se solicita un fichero de un directorio /www/htdocs/example,
+ httpd debe buscar los siguientes ficheros:
+ /.htaccess
+ /www/.htaccess
+ /www/htdocs/.htaccess
+ /www/htdocs/example/.htaccess
+
De esta manera, por cada acceso a un fichero de ese directorio, hay 4
+ accesos adicionales al sistema de ficheros, incluso si ninguno de esos
+ ficheros est presente. (Tenga en cuenta que este caso solo se dara si los
+ ficheros .htaccess estn activados en /, que
+ generalmente no es el caso.).
En el caso de las directivas RewriteRule, en el contexto de
+ .htaccess estas expresiones regulares deben recompilarse con
+ cada solicitud a ese directorio, cuando en el contexto de configuracin del
+ servidor solo se compilan una vez y se cachean. Adicionalmente, las reglas
+ en s mismas son ms complicadas, puesto que uno debe sortear las
+ restricciones que vienen acompaadas del contexto directorio y
+ mod_rewrite. Consulte la Gua de Rewrite para un mayor
+ detalle sobre este tema.
La segunda consideracin es de seguridad. Estar permitiendo que usuarios
+ modifiquen la configuracin del servidor, lo cual puede dar lugar a cambios sobre los que usted no tendr ningn control. Medite profundamente si debe
+ dar a sus usuarios ese privilegio. Adems tenga en cuenta que dar a los usuarios menos privilegios de los que necesitan dar lugar a ms peticiones
+ de soporte. Asegrese de que le indica a sus usuarios claramente el nivel de privilegios que les est dando. Especificando exactamente cmo ha
+ configurado AllowOverride, e invteles
+ a revisar la documentacin relacionada, lo cual le ahorrar
+ bastantes confusiones ms adelante.
Tenga en cuenta que esto es equivalente por completo a poner un fichero
+ .htaccess en un directorio /www/htdocs/example
+ con una directiva, y poner la misma directiva en una seccin
+ Directory <Directory "/www/htdocs/example"> en su
+ configuracin principal del servidor:
Fichero .htaccess en /www/htdocs/example:
/www/htdocs/exampleAddType text/example ".exm"+
httpd.conf<Directory "/www/htdocs/example"> + AddType text/example ".exm" +</Directory>+
Aun as, poniendo sta en el fichero de configuracin dar como resultado + una menor prdida de rendimiento, y como la configuracin se carga una vez + cuando el httpd arranca, en lugar de cada vez que se solicita un fichero.
+ +El uso de ficheros .htaccess puede desactivarse por completo
+ configurando la directiva AllowOverride
+ a none:
AllowOverride None+ +
Las directivas de configuracin que se encuentran en el fichero
+ .htaccess se aplican al directorio en el que el fichero
+ .htaccess se encuentra, y a todos sus subdirectorios. Sin
+ embargo, es importante recordar que puede haber otros ficheros
+ .htaccess en directorios previos. Las directivas se aplican en
+ el orden en el que se encuentran. Por lo tanto, un fichero
+ .htaccess puede sobrescribir directivas que se encuentran
+ en ficheros .htaccess que se encuentran en directorios previos
+ del rbol de directorios. Y estos, en cambio, pueden haber sobrescrito
+ directivas que se encontraban ms arriba, o en el fichero principal de
+ configuracin del servidor mismo.
Ejemplo:
+ +En el directorio /www/htdocs/example1 tenemos un fichero
+ .htaccess que contiene lo siguiente:
Options +ExecCGI+ + +
(Nota: debe terner "AllowOverride Options" configurado para
+ permitir el uso de la directiva "Options" en ficheros
+ .htaccess files.)
En el directorio /www/htdocs/example1/example2 tenemos un
+ fichero .htaccess que contiene:
Options Includes+ + +
Por este segundo fichero .htaccess, en el directorio
+ /www/htdocs/example1/example2, la ejecucin de CGI execution no
+ est permitida, porque solo se ha definido Options Includes,
+ que sobrescribe completamente una configuracin previa que se pudiera haber
+ definido.
Como se ha comentado en la documentacin en las Secciones de Configuracin, los ficheros
+ .htaccess pueden sobrescribir las secciones <Directory> por el directorio
+ correspondiente, pero se sobrescribirn por otros tipos de secciones de
+ configuracin de los ficheros de configuracin principal. Este hecho se
+ puede usar para forzar ciertas configuraciones, incluso en presencia
+ de una configuracin laxa de
+ AllowOverride. Por ejemplo, para
+ prevenir la ejecucin de un script mientras se permite cualquier otra cosa
+ en .htaccess puede usar:
<Directory "/www/htdocs"> + AllowOverride All +</Directory> + +<Location "/"> + Options +IncludesNoExec -ExecCGI +</Location>+ + +
DocumentRoot es /www/htdocs.Si salt directamente a esta parte del documento para averiguar como
+ hacer la autenticacin, es important que tenga en cuenta una cosa. Hay una
+ creencia errnea de que necesita usar ficheros .htaccess para
+ configurar autenticacin con contrasea. Este no es el caso. Colocar las
+ directivas de autenticacin en una seccin
+ <Directory>, en su fichero
+ de configuracin principal, es el mtodo recomendado para configurar esto,
+ y los ficheros .htaccess deberan usarse solamente si no tiene
+ acceso al fichero de configuracin principal del servidor. Vea ms arriba una explicacin de cuando debera y cuando no
+ debera usar ficheros .htaccess.
Dicho esto, si todava cree que debe usar el fichero
+ .htaccess, podr ver que una configuracin como la que sigue
+ podra servirle.
Contenido del fichero .htaccess:
AuthType Basic +AuthName "Password Required" +AuthUserFile "/www/passwords/password.file" +AuthGroupFile "/www/passwords/group.file" +Require group admins+ + +
Tenga en cuenta que AllowOverride AuthConfig debe estar
+ habilitado para que estas directivas tengan algn efecto.
Por favor vea el tutorial de autenticacin para + una explicacin ms completa de la autenticacin y la autorizacin.
+Otro uso comn de ficheros .htaccess es activar Server Side
+ Includes para un directorio en particular. Esto puede hacerse
+ con las siguientes directivas de configuracin, colocadas en un fichero
+ .htaccess y el directorio deseado:
Options +Includes +AddType text/html "shtml" +AddHandler server-parsed shtml+ + +
Tenga en cuenta que AllowOverride Options y
+ AllowOverride FileInfo deben estar activadas para que estas
+ directivas tengan efecto.
Por favor vea el tutorial de SSI para una + explicacin ms completa de server-side includes.
+Cuando use RewriteRule en
+ ficheros .htaccess, tenga en cuenta que el contexto
+ directorio cambia las cosas un poco. En concreto, las reglas son
+ relativas al directorio actual, en lugar de serlo de la peticin de URI
+ solicitada originalmente.
+ Considere los siguientes ejemplos:
# En httpd.conf +RewriteRule "^/images/(.+)\.jpg" "/images/$1.png" + +# En .htaccess en el directorio raz +RewriteRule "^images/(.+)\.jpg" "images/$1.png" + +# En .htaccess en images/ +RewriteRule "^(.+)\.jpg" "$1.png"+ + +
En un .htaccess en cualquier directorio del DocumentRoot, la
+ barra ("/") inicial se elimina del valor facilitado a RewriteRule, y en el subdirectorio
+ images, se elimina /images/ tambin de este valor.
+ As, su expresin regular necesita omitir tambin esa parte.
Consulte la documentacin de mod_rewrite para
+ ms detalles al usar mod_rewrite.
Finalmente, puede que quiera usar un fichero .htaccess para
+ permitir la ejecucin de programas CGI en un directorio en particular. Esto
+ se puede implementar con la siguiente configuracin:
Options +ExecCGI +AddHandler cgi-script "cgi" "pl"+ + +
Alternativamente, si quiere considerar como programas CGI todos los + ficheros de un directorio concreto, esto se puede conseguir con la siguiente + configuracin:
+ +Options +ExecCGI +SetHandler cgi-script+ + +
Tenga en cuenta que AllowOverride Options y
+ AllowOverride FileInfo deben estar ambas activadas para que
+ estas directivas tengan efecto.
Por favor vea el tutorial CGI para mayor detalle + sobre programacin y configuracin de CGI.
+ +Cuando pone directivas en un fichero .htaccess y no obtiene
+ el efecto deseado hay una serie de cosas que pueden haber ido mal.
El problema ms comn es que AllowOverride
+ no est configurada para que sus directivas puedan surtir
+ efecto. Asegrese de que no tiene AllowOverride None
+ configurado para el directorio en cuestin. Una buena forma de probar esto
+ es poner "basura" en su fichero .htaccess y recargar la pgina.
+ Si no se genera un error en el servidor, casi seguro que tiene configurado
+ AllowOverride None.
Si, por otro lado, obtiene errores de servidor al intentar acceder a
+ documentos, compruebe el log de errores de httpd. Seguramente le indiquen
+ que la directiva en uso en su fichero .htaccess no est
+ permitida.
+ [Fri Sep 17 18:43:16 2010] [alert] [client 192.168.200.51] /var/www/html/.htaccess: DirectoryIndex not allowed here
+
Esto indicar que o bien ha usado una directiva que no se permite nunca
+ en ficheros .htaccess, o que simplementa no tiene
+ AllowOverride configurado
+ a un nivel suficiente para la directiva que ha usado. Consulte la
+ documentacin para esa directiva en particular para determinar cual es el
+ caso.
Alternativamente, puede que le indique que hay un error de sintaxis en + el uso de la propia directiva.
+ +
+ [Sat Aug 09 16:22:34 2008] [alert] [client 192.168.200.51] /var/www/html/.htaccess: RewriteCond: bad flag delimiters
+
En este caso, el mensaje de error debera ser especfico para el error de + sintaxis concreto que ha cometido.
+ +