Sei sulla pagina 1di 18

Un servidor web o servidor HTTP es un programa informtico que procesa una aplicacin

del lado del servidor, realizando conexiones bidireccionales y/o unidireccionales y


sncronas o asncronas con el cliente y generando o cediendo una respuesta en cualquier
lenguaje o Aplicacin del lado del cliente.
El cdigo recibido por el cliente suele ser compilado y ejecutado por un navegador web.
Para la transmisin de todos estos datos suele utilizarse algn protocolo. Generalmente
se usa el protocolo HTTP para estas comunicaciones, perteneciente a la capa de aplicacin
del modelo OSI.

Un servidor web opera mediante el protocolo HTTP, de la capa de aplicacin del Modelo
OSI. Al protocolo HTTP se le asigna habitualmente el puerto TCP 80. Las peticiones al
servidor suelen realizarse mediante HTTP utilizando el mtodo de peticin GET, en el que
el recurso se solicita a travs de la url al servidor Web.
GET /index.html HTTP/1.1 HOST: www.host.com
En la barra de URL de un navegador cualquiera, la peticin anterior sera anloga a la
siguiente direccin Web:
www.host.com/index.html

Es el segundo tipo de peticin HTTP ms utilizado. Los datos a enviar al servidor se incluyen
en el cuerpo de la misma peticin con las cabeceras HTTP asignadas
correspondientemente respecto al tipo de peticin. Generalmente se asocia con los
formularios web en los que los datos suelen ser cifrados para enviarlos de manera segura
al servidor.
Por motivos de convencin se incluye en la peticin la cabecera application/x-www-formurlencoded, que indica el formato o codificacin de los datos a enviar; esta es variable>valor en el formato: variable=valor separada cada par variable->valor por &. Esta
cabecera, en los formularios HTML se enva automticamente, pero en otras tecnologas
web tal como AJAX, si se desea hacer correctamente una peticin POST, debe ser
especificado o instanciado el objeto: setRequestHeader("Content-type:application/x-wwwform-urlencode"); ajax.send(data);

Un Servidor Web Local es aquel Servidor Web que reside en una red local al equipo de
referencia. El Servidor web Local puede estar instalado en cualquiera de los equipos que
forman parte de una red local. Es por tanto obvio, que todos los Servidores Web, son
locales a la red local en la que se encuentran, o como mnimo, locales al sistema en el que
estn instalados.
Cuando un servidor Web se encuentra instalado en el mismo equipo desde el cual se desea
acceder puede utilizarse la direccin de Loopback, 127.0.0.1 en Ipv4 y ::1 en Ipv6. El puerto
TCP 80 se obvia. Los archivos se almacenan en un directorio determinado por la
configuracin, generalmente modificable.
Existen numerosas aplicaciones que facilitan la instalacin automtica de servidores web
Apache y aplicaciones adicionales como Mysql y PHP (entre otros), de forma conjunta,
como XAMPP, JAMP o EasyPHP. Estas aplicaciones reciben el nombre de LAMP cuando se
instalan en plataformas Linux, WAMP en sistemas Windows y MAMP en sistemas Apple
Macintosh.

El servidor HTTP Apache es un servidor web HTTP de cdigo abierto, para plataformas Unix
(BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa el protocolo
HTTP/1.12 y la nocin de sitio virtual.
Su nombre se debe a que Behelendorf quera que tuviese la connotacin de algo que es
firme y enrgico pero no agresivo, y la tribu Apache fue la ltima en rendirse al que pronto
se convertira en gobierno de EEUU, y en esos momentos la preocupacin de su grupo era
que llegasen las empresas y "civilizasen" el paisaje que haban creado los primeros
ingenieros de internet.
El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache
Software Foundation.
Apache presenta entre otras caractersticas altamente configurables, bases de datos de
autenticacin y negociado de contenido, pero fue criticado por la falta de una interfaz
grfica que ayude en su configuracin.
Apache tiene amplia aceptacin en la red: desde 1996, Apache, es el servidor HTTP ms
usado. Alcanz su mxima cuota de mercado en 2005 siendo el servidor empleado en el
70% de los sitios web en el mundo, sin embargo ha sufrido un descenso en su cuota de
mercado en los ltimos aos.

VENTAJAS
>

Modular

>

Cdigo abierto

>

Multi-plataforma

>

Extensible

>

Popular (fcil conseguir ayuda/soporte)

MODULOS APACHE
La arquitectura del servidor Apache es muy modular. El servidor consta de una seccin
core y diversos mdulos que aportan mucha de la funcionalidad que podra considerarse
bsica para un servidor web. Algunos de estos mdulos son:

>

mod_ssl - Comunicaciones Seguras va TLS.

>

mod_rewrite - reescritura de direcciones (generalmente utilizado para transformar


pginas dinmicas como php en pginas estticas html para as engaar a los
navegantes o a los motores de bsqueda en cuanto a cmo fueron desarrolladas estas
pginas).

>

mod_dav - Soporte del protocolo WebDAV (RFC 2518).

>

mod_deflate - Compresin transparente con el algoritmo deflate del contenido


enviado al cliente.

>

mod_auth_ldap - Permite autentificar usuarios contra un servidor LDAP.

>

mod_proxy_ajp - Conector para enlazar con el servidor Jakarta Tomcat de pginas


dinmicas en Java (servlets y JSP).

>

mod_cfml - Conector CFML usado por Railo.

USO
Apache es usado principalmente para enviar pginas web estticas y dinmicas en la World
Wide Web. Muchas aplicaciones web estn diseadas asumiendo como ambiente de
implantacin a Apache, o que utilizarn caractersticas propias de este servidor web.
Apache es el componente de servidor web en la popular plataforma de aplicaciones LAMP,
junto a MySQL y los lenguajes de programacin PHP/Perl/Python (y ahora tambin Ruby).
Este servidor web es redistribuido como parte de varios paquetes propietarios de
software, incluyendo la base de datos Oracle y el IBM WebSphere application server. Mac
OS X integra apache como parte de su propio servidor web y como soporte de su servidor
de aplicaciones WebObjects. Es soportado de alguna manera por Borland en las

herramientas de desarrollo Kylix y Delphi. Apache es incluido con Novell NetWare 6.5,
donde es el servidor web por defecto, y en muchas distribuciones Linux.
Apache es usado para muchas otras tareas donde el contenido necesita ser puesto a
disposicin en una forma segura y confiable. Un ejemplo es al momento de compartir
archivos desde una computadora personal hacia Internet. Un usuario que tiene Apache
instalado en su escritorio puede colocar arbitrariamente archivos en la raz de documentos
de Apache, desde donde pueden ser compartidos.

nginx (pronunciado en ingls engine X) es un servidor web/proxy inverso ligero de alto


rendimiento y un proxy para protocolos de correo electrnico (IMAP/POP3).
Es software libre y de cdigo abierto, licenciado bajo la Licencia BSD simplificada. Es
multiplataforma, por lo que corre en sistemas tipo Unix (GNU/Linux, BSD, Solaris, Mac OS
X, etc.) y Windows.
USO
El sistema es usado por una larga lista de sitios web conocidos, como: WordPress, Netflix,
Hulu, GitHub, Ohloh, SourceForge, TorrentReactor y partes de Facebook (como el servidor
de descarga de archivos zip pesados).
Originalmente, nginx fue desarrollado para satisfacer las necesidades de varios sitios web
de Rambler que reciban unas 500 millones de peticiones al da en septiembre de 2008.
De acuerdo con el estudio de Netcraft, Netcraft's May 2013 Web Server Survey, nginx fue
el tercer servidor web ms usado en todos los dominios (15.52%) y el segundo servidor
web ms usado en dominios activos (13.27%) superando a Microsoft Information Server.
Adems, pas la marca de ser usado en ms de 100 millones de sitios.

Internet Information Services o IIS es un servidor web y un conjunto de servicios para el


sistema operativo Microsoft Windows. Originalmente era parte del Option Pack para
Windows NT. Luego fue integrado en otros sistemas operativos de Microsoft destinados a
ofrecer servicios, como Windows 2000 o Windows Server 2003. Windows XP Profesional
incluye una versin limitada de IIS. Los servicios que ofrece son: FTP, SMTP, NNTP y
HTTP/HTTPS.

Este servicio convierte a una PC en un servidor web para Internet o una intranet, es decir
que en las computadoras que tienen este servicio instalado se pueden publicar pginas
web tanto local como remotamente.
Se basa en varios mdulos que le dan capacidad para procesar distintos tipos de pginas.
Por ejemplo, Microsoft incluye los de Active Server Pages (ASP) y ASP.NET. Tambin pueden
ser incluidos los de otros fabricantes, como PHP3 o Perl.

Para iniciar la instalacin de nuestro servidor apache abrimos la terminal y escribimos el


siguiente comando:
sudo apt-get install apache2

Una vez que se haya instalado los comandos que podemos utilizar para iniciar, reiniciar o
detener el servidor son los siguientes:
INICIAR SERVICIO APACHE
sudo service apache2 start

DETENER SERVICIO APACHE


sudo service apache2 stop

REINICIAR SERVICIO APACHE


sudo service apache2 restart

STATUS DEL SERVICIO APACHE


sudo service apache2 status

Los archivos de configuracin de apache se encuentran en la carpeta /etc/apache2. El


archivo principal de configuracin es /etc/apache2/apache2.conf. Antes de realizar
cualquier cambio en la condifugracin, es conveniente realizar una copia de seguridad del
mismo ya que si apache encuentra algn error en el archivo de configuracin, no
arrancar.
Se pueden configurar infinidad de parmetros. Aqu, para poner en marcha el servidor,
editaremos el archivo apache2.conf y aadiremos nicamente el siguiente parmetro:
Global Environment
Las directivas que se muestran en esta seccin crean el entorno global para el servidor
Apache. Este rige el funcionamiento general de Apache, como puede ser el nmero de
peticiones concurrentes que se pueden manejar, la ubicacin de los ficheros de
configuracin, etc.

ServerType { standalone | inetd }


Permite indicar el tipo de servidor a ejecutar. Este puede ser:
inetd: el servicio se brindar como un servicio tipo xinet. Se deber definir su configuracin
en el directorio xinetd.d. De esta forma se iniciar una copia del servidor cada vez que
algn cliente trate de conectarse y esta terminar una vez que retorne lo pedido. Aunque
se considera ms seguro, debe evitarse este modo, porque puede que no trabaje
adecuadamente.
standalone: el servidor se ejecutar como un servicio independiente. Es la forma ms
eficiente y la que se asume por defecto.
ServerRoot
Esta directiva define el directorio donde se ubica toda la informacin de configuracin y
registro que necesita el servidor para su correcto funcionamiento, como por ejemplo
srm.conf, httpd.conf, acces.conf, mymes.type, etc. La ubicacin que se indique aqu debe
ser una ruta absoluta, lo que significa que debemos indicar la ubicacin del directorio
partiendo desde la raz. Ejemplos:
ServerRoot /etc/apache
ServerRoot /usr/local/apache

Timeout
Timeout define, en segundos, el tiempo que el servidor esperar para recibir y enviar
peticiones durante la comunicacin, tras los cuales el servidor cierra la conexin. Est
configurado por defecto a 300, lo cual es apropiado para la mayora de las situaciones.
Ejemplo:
Timeout 300

KeepAlive
Esta directiva se utiliza para indicar si se activarn las conexiones persistentes; es decir. el
poder hacer ms de una peticin por conexin.
Por ejemplo, supongamos que hacemos una peticin al servidor de una pgina web que
contiene tres imgenes, entonces tendremos que hacer 4 peticiones, una para la pgina y
una por cada imagen. El tener activadas las conexiones persistentes nos permite el poder
hacer todas las peticiones a travs de la misma conexin, y no tener que negociar nuevas
conexiones. La respuesta del servidor ser ms rpida y tendremos un mejor rendimiento.

Esta directiva admite dos opciones:


KeepAlive On
KeepAlive Off
Si KeepAlive esta en On, tambin deber establecer KeepAliveTimeout en un valor bajo y
controlar el registro de errores (error_log) de los servidores para estar advertido si no
dispone de suficientes procesos hijo para gestionar las peticiones.
MaxKeepAliveRequests
Esta directiva establece el mximo nmero de peticiones que se pueden realizar en una
conexin persistente. Las conexiones persistentes tienen que estar activadas, obviamente.
Hay que tener en cuenta el ancho de banda de salida de nuestro servidor, por el cual
deber ser enviada toda la informacin. Si se establece un valor muy grande respecto al
ancho de banda, el tiempo de respuesta se ver incrementado para cada usuario. El valor
predeterminado de la directiva MaxKeepAliveRequests es de 100, que debera bastar en la
mayora de los casos.
MaxKeepAliveRequests 100

KeepAliveTimeout
La directiva KeepAliveTimeout establece el nmero de segundos que el servidor esperar
a la siguiente peticin, tras haber dado servicio a una, antes de cerrar la conexin. Una vez
recibida la peticin, aplica la directiva Timeout en su lugar.
KeepAliveTimeout 15

Listen
Esta directiva permite especificar qu puerto se utilizar para atender las peticiones. Por
defecto se utiliza el puerto 80 (www). Sintaxis: Listen [direccin ip:] Numero de puerto.
Ejemplo:
Para hacer que el servidor acepte conexiones en los puertos 80 y 8080
Listen 80
Listen 8080

Para atender dos direcciones IP distintas, con distintos puertos, se utilizar:


Listen 192.168.255.5:80

Listen 192.168.255.8:8080

MaxClients
Permite especificar la cantidad mxima de clientes conectados simultneamente al
servidor. Por defecto es 150. Ejemplo:
MaxClients 200

ServerAdmin
Especifica la direccin de correo electrnico del administrador. Esta direccin aparece en
los mensajes de error, para permitir al usuario notificar un error al administrador.
ServerAdmin admin@sitioweb.com

ServerName
Especifica el nombre y el puerto que el servidor utiliza para identificarse, normalmente se
determina automticamente, pero es recomendable especificarlo explcitamente para que
no haya problemas al iniciar el servidor. Si el servidor no tiene un nombre registrado en
las DNS, se recomienda poner su nmero IP. La sintaxis es: ServerName direccionIP:Puerto
Ejemplo:
ServerName localhost:80

DocumentRoot
La carpeta raz que se ubica en el servidor, desde la que se servirn los documentos. Por
defecto, todas las peticiones tendrn como raz esta carpeta. Esta es la carpeta donde
colocaremos las pginas que queramos publicar.
Si se cambia este directorio por otro, es muy importante que se ponga el nuevo valor, no
slo en esta lnea, sino tambin en la seccin de la directiva Directory en la que se
establecen los parmetros de configuracin de este directorio. Ejemplo:
/var/www/html

DirectoryIndex
Especifica el fichero por defecto que buscar en cada directorio en caso de que no se
especifique ninguno. Por defecto es index.html. Es decir, que si por ejemplo se pone en el
navegador www.misitio.com el servidor por defecto servir www.misitio.com/index.html

El orden con el que se especifica el nombre de fichero determinar la prioridad a la hora


de decidir que fichero es el que se muestra. Ejemplo:
DirectoryIndex index.html index.htm index.php

AccessFileName
Es el nombre del fichero de configuracin de acceso limitado que se buscar en cada una
de los directorios del servidor para conocer la configuracin del mismo. Este fichero
permite configurar el comportamiento de cada uno de los directorios individualmente.
Para que esta configuracin funcione, la directiva AllowOverride tiene que tener un valor
que lo permita. El nombre de fichero que se especifica por defecto es el del fichero
.htaccess
Como medida de seguridad, la configuracin de Apache establece que no se muestre la
existencia de este fichero a ningn usuario, aunque est establecida la opcin de listado
de directorios.
TypesConfig
Especifica el nombre del fichero que contiene la lista de tipos MIME que conoce el servidor,
y que determinar dependiendo de las extensiones para generar las cabeceras http. No
puede estar dentro de ninguna seccin.
DefaultType
Tipo MIME que se servir por defecto en caso de no conocer la extensin del fichero que
se est sirviendo. Por defecto, se indicar que se sirve texto plano, con el valor text/plain.
La directiva se puede encontrar fuera de cualquier seccin, dentro de una seccin o dentro
de un fichero .htaccess. Sintaxis: DefaultType tipoMime
HostnameLookups
Se utiliza en los ficheros de registro. Por defecto, cuando se produce un acceso se guarda
simplemente su nmero IP. Si esta directiva se encuentra en On, el servidor buscar la
correspondencia de ese nmero IP con su nombre y lo almacenar.
IndexOptions
Directiva usada para optar por el sistema de visualizacin de los directorios con Apache.
Puede ser normal o indexado. La configuracin clsica es:

IndexOptions FancyIndexing

ErrorDocument 404 /error404.html


En caso de no encontrarse un fichero, se mostrar el fichero error404.html
CacheRoot
Establece el directorio donde se encontrarn los ficheros de la cach de Apache.
<VirtualHost>
La directiva del contenedor <VirtualHost> especifica una configuracin para el host virtual.
Todas las directivas encontradas entre <VirtualHost> y </VirtualHost> se aplican
nicamente a dicho host virtual. Se puede utilizar cualquier directiva que est permitida
en el contexto de un host virtual. Cuando un servidor recibe la solicitud de un documento
en un host virtual determinado, utiliza las directivas de configuracin encerradas en
<VirtualHost>. Sintaxis: <VirtualHost addr[:port]. > .. </VirtualHost>.
Ejemplo:
Una direccin IP
<VirtualHost 192.168.1.100>
#directivas correspondientes a este host virtual
</VirtualHost>

Una direccin IP con su nmero de puerto


<VirtualHost 192.168.1.100:8080>
#directivas correspondientes a este host virtual
</VirtualHost>

Varias Direcciones IP
<VirtualHost 192.168.1.110 192.168.1.106>
#directivas correspondientes a este host virtual

</VirtualHost>

Varias Direcciones IP con nmero de puerto


<VirtualHost 192.168.1.110:8080 192.168.1.106:10000>
#directivas correspondientes a este host virtual
</VirtualHost>

Host virtual
El trmino Hosting Virtual se refiere a hacer funcionar ms de un sitio web (tales como
www.empresa1.com y www.empresa2.com) en una sola mquina. Los sitios web virtuales
pueden estar "basados en direcciones IP", lo que significa que cada sitio web tiene una
direccin IP diferente, o "basados en nombres diferentes", lo que significa que con una
sola direccin IP estn funcionando sitios web con diferentes nombres (de dominio).
Paso 1. Crear la estructura de directorios
Lo primero que vamos a hacer es crear la estructura de directorios para cada host virtual
que se va a crear.
De forma prededinida el directorio donde apache almacena las pginas que sirve se
encuentra en /var/www, vamos a crear en dicha ubicacin una carpeta para cada host
sudo mkdir -p /var/www/example.com/public_html

Paso 2. Agregar permisos


Ahora tenemos que asignar permisos al usuario que va a poder subir los archivos de este
sitio.
sudo chown -R $USER:$USER /var/www/example.com/public_html

La variable $USER tomar el valor del usuario al que le queramos dar privilegios sobre la
carpeta.
Para asegurarnos que el servidor muestre las paginas correctamente y los usuarios
puedan crear y subir archivos vamos a modificar los permisos de la carpeta www y los
colocaremos de esta forma:

sudo chmod -R 755 /var/www

Hasta aqu ya hemos configurado los permisos del servidor para que sirva el contenido de
forma correcta y los usuarios deberan poder crear el contenido que sea necesario.
Paso 3. Crear una pgina de inicio
Vamos a crear una pequea pgina de prueba para verificar que nuestro host virtual
trabaja de forma correcta.
nano /var/www/example.com/public_html/index.html

En este archivo agregamos el siguiente contenido:


<html>
<head>
<title>Bienvenido a mi pgina!</title>
</head>
<body>
<h1>Felicidades el host virtual trabaja de forma correcta!!!</h1>
</body>
</html>
Guardamos y cerramos el archivo
Paso 4. Crear un nuevo archivo virtual host
Los archivos virtual host son los archivos que especifican la configuracin actual de nuestro
host virtual y le indican al servidor web Apache como debe responder a las peticiones de
varios dominios.
El servidor web Apache crea por defecto un archivo virtual host llamado 000-default.conf
que podemos utilizar como referencia. Vamos a crear una copia de ese archivo para crear
un archivo virtual host para cada uno de nuestros dominios.
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sitesavailable/example.com.conf
Abrimos el archivo con privilegios de administrador
sudo nano /etc/apache2/sites-available/example.com.conf
El archivo se debe de ver como en el siguiente ejemplo
<VirtualHost *:80>

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Como podemos apreciar no es mucha informacin la que se debe configurar. Vamos a
proceder a configurar el archivo con la informacin de nuestro dominio.
Comenzamos con la directiva ServerAdmin donde colocaremos un email referente a
nuestro sitio.
ServerAdmin webmaster@example.com
Despues necesitamos agregar dos directivas, la primera llamada ServerName que
establece el directorio base del dominio, la segunda llamada ServerAlias que define los
nombres que deberas responder como si fueran el directorio base del dominio,
generalmente colocamos www
ServerName example.com
ServerAlias www.example.com
Ahora solo nos falta cambiar indicar cul es el directorio desde donde va a servir las
pginas
DocumentRoot /var/www/example.com/public_html
El archivo al final se debe de ver as:
<VirtualHost *:80>
ServerAdmin webmaster@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Guardamos y cerramos el archivo.

Paso 5. Habilitar el nuevo host virtual


Ya que hemos creado nuestro archivo de host virtual tenemos que habilitarlo, para ello
Apache incluye algunas herramientas como a2ensite
sudo a2ensite example.com.conf

Ahora tenemos que reiniciar nuestro servidor para que los cambios se apliquen
sudo service apache2 restart

Paso 6. Configurar el archivo hosts (Opcional)


Lo que hace el archivo hosts es capturar las peticiones como si fuera un servidor DNS pero
solo funciona en la maquina local.
sudo nano /etc/hosts

El archivo se debe de ver como el ejemplo siguiente, lo que tenemos que hacer es agregar
la ip de nuestro servidor y el dominio correspondiente
127.0.0.1 localhost
127.0.1.1 guest-desktop
127.0.0.1 example.com
Guardamos y cerramos el archivo
Paso 7. Probar el dominio
Ahora solo tenemos que abrir nuestro navegador y comprobar que todo funcione
correctamente, para ello escribimos en la barra de direcciones el dominio de nuestra
pagina.
http://example.com
Y debera mostrarnos lo siguiente:

Un archivo .htaccess (hypertext access) es un archivo en formato ASCII que permite definir
diferentes directivas de configuracin para cada directorio (con sus respectivos
subdirectorios) sin necesidad de editar el archivo de configuracin principal de Apache.
Los archivos .htaccess son usados frecuentemente para especificar restricciones de
seguridad para un directorio en particular. Los servidores suelen usar el .htaccess para
reescribir URLs largas y complejas, en otras ms simples y fcilmente recordables,
permiten bloquear a usuarios por su direccin IP y/o dominio, bloquear bots y araas web.
Tambin permite controlar las pginas de errores cuando estos ocurren del lado del
servidor.

Si no tenemos restricciones al momento de listar el contenido de cualquier directorio, este


mostrar todo lo que tenga. Si queremos evitar este tipo de comportamiento podemos
usar las directivas Options All -Indexes dentro del .htaccess para evitar que se liste
cualquier directorio.
# Evita que se liste el contenido del directorio
Options Indexes
Tambin se puede hacer un listado parcial aunque no es muy recomendado. Por ejemplo
si solo queremos que no se muestren los archivos html y pdf podramos colocar lo
siguiente.
# Evita que se listen los archivos html y pdf
IndexIgnore *.html *.pdf
Tambin se puede indicar que se muestren los directorios como si estuvieran vacios
utilizando el comodn *
# Lista los directorios como si estuvieran vacios
IndexIgnore *

Esto resultara muy til cuando queremos proteger archivos crticos, como los archivos de
configuracin. Un ejemplo de esto podra ser:

<files archivo-configuracion.php>
order allow,deny
deny from all
</files>
O incluso podramos proteger el mismo archivo .htaccess
<files .htaccess>
Order allow,deny
Deny from all
</files>

Los servidores Web devuelven pginas que muestran un error especfico, en caso de que
este se haya producido; como por ejemplo el 404 Pgina no encontrada
Errores
404 Pagina no encontrada
401 Authorization Required
403 Forbidden
500 Internal Server Error
Podramos implementar pginas de errores acorde a nuestros sitios de la siguiente forma
ErrorDocument 401 /error/authreqd.html
ErrorDocument 403 /error/forbid.html
ErrorDocument 404 /error/notfound.html
ErrorDocument 500 /error/errorserver.html
Ahora solo tendramos que crear las pginas personalizadas correspondientes.

El hotlink o robo de ancho de banda es algo (lamentablemente) muy comn en Internet.


Se trata de enlazar directamente a un recurso de un sitio Web a otro, como imgenes. Para
evitar esto, basta con poner las siguientes lineas en un .htaccess
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?mi-dominio.com/.*$ [NC]
RewriteRule .(jpg|jpeg|gif|png|bmp)$ - [F]

Redireccionar una pgina web a otra URL, como dominio.net redirigido a dominio.com:
Redirect 301 / http://dominio.com/

Redireccionar su index.html a una subcarpeta:


Redirect /index.html http://dominio.com/newdirectory/

Redirigir un archivo antiguo a una nueva ruta de archivo:


Redirect /olddirectory/oldfile.html http://example.com/newfile.html

Para eliminar una extensin de la URL tenemos que trabajar con el modulo Rewrite de
Apache que se encarga de reescribir una URL.
Para que esto funcione debe estar activado el mdulo rewrite, lo podemos activar con el
siguiente comando.
a2enmod rewrite

En el archivo .htaccess agregamos lo siguiente.


RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]

Potrebbero piacerti anche