On 14/11/2012 15:56, Camaleón wrote:
El Tue, 13 Nov 2012 23:51:25 +0100, Jorge escribió:

Mi servidor web es Apache2 sobre Debian Squeeze. Tengo tanto Certificado
SSL (para https) como autenticación de usuario (AuthUser), pero si no
deshabilito ambos no se muestra el icono 'favicon.ico' en la pestaña del
IE o del FF. Por supuesto el fichero está en el raíz del VirtualHost en
cuestión y cuenta con los permisos de acceso necesarios, de hecho se
muestra cuando pongo como URL http://www.ejemplo.com/favicon.ico.

Vale, el archivo gráfico (favicon.ico) existe pero tendrás que
referenciarlo en las páginas html porque si no automáticamente no se
carga (a no ser que uses alguna característica del servidor web que lo
añada "virtualmente" a todas las páginas html).

Pero si quito la autenticación (AutUser ...) y entro a la web sin certificado (http://...) si que me sale el favicon.ico (tanto en IE como FF) sin necesidad de introducir nada en las páginas html. Según tengo entendido si colocas favicon.ico en el raíz y con ese nombre, el servidor apache automáticamente lo reconoce y lo aplica, ... y en mi caso sí que es así, pero como digo sólo para http sin autenticación de directorio.

Para solucionarlo (y a pesar de que no me gusta mucho esta solución) he
intentado poner en la cabecera de las páginas web ...

<head> <link rel="shortcut icon" href=http://www.ejemplo.com/favicon.ico
type="image/x-icon" /> <title>Hola Mundo Icono</title> </head>

(conviene usar un dominio normalizado, p. ej., "www.example.com" cuando
quieras usar dominios a modo de ejemplo)


OK, no lo sabía. Lo tendré en cuenta.

Puedes usar un enlace relativo en lugar de absoluto:

<link rel="shortcut icon" href="favicon.ico" />


Mismo resultado con ruta relativa.

... con lo que mi 'falvicon.ico' ya se muestra, a pesar de tener la
autenticación habilitada, cuando introduzco la URL
http://www.ejemplo.com/, pero sigue sin mostrarse cuando introduzco la
URL https://www.ejemplo.com/. Y si en el código anterior en lugar de a
href=http ... apunto a href=https ... ni siquiera eso, no llega a verse
en ninguno de los dos casos.

¿Cómo consigo que se muestre siempre? (Espero haberme explicado bien, si
no es así consultadme, por favor) Gracias.

Normalmente, las páginas bajo cifrado (https://) se ubican fuera
("separadas") de la raíz de las páginas que se sirven sin cifrar, por
seguridad. Si es este tu caso, tendrás que poner el archivo favicon.ico
en ambas rutas para que sea visible en ambos entornos.

Saludos,


Pongo el favicon.ico en /var/www/www.example.com/htdocs/ (este es un dominio de pruebas común tanto para http como para https) Junto favicon.ico hay un index.html que no tiene nada más que un 'hola mundo'

Este es el fichero de configuración del virtual host, por si es el problema está ahí:

<VirtualHost *:443>
    ServerAdmin webmas...@example.com
    ServerName  www.example.com
    ServerAlias example.com

    #### Indexes + Directory Root.
    DirectoryIndex index.php index.html
    DocumentRoot /var/www/www.example.com/htdocs/

    SSLEngine on
    SSLCertificateFile    /etc/ssl/certs/example.com_self_3.crt
    SSLCertificateKeyFile /etc/ssl/private/example.com_self_3.key

    <Directory "/var/www/www.example.com/htdocs/">
        Options Indexes FollowSymLinks -MultiViews
        AllowOverride None
        php_value upload_max_filesize 5M
        php_value post_max_size 17M
        php_value max_execution_time 61
        php_value max_input_time 121
        IndexIgnore .??* *~

        <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteBase /
            RewriteCond %{HTTP_HOST} !^www
            RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond $1 !^(index\.php|robots\.txt|user_guide|info\.php|favicon\.ico|index\.html)
            RewriteRule ^(.*)$ /index.php/$1 [L]
        </IfModule>

        <FilesMatch "^\.ht">
            Order allow,deny
            Deny from all
        </FilesMatch>

        Order allow,deny
        Allow from all
        Deny from www.google.es
    </Directory>

    #### CGI Directory
    ScriptAlias /cgi-bin/ /var/www/www.example.com/cgi-bin/
    <Location /cgi-bin>
        Options +ExecCGI
    </Location>

    #### Logfiles
    ErrorLog  /var/www/www.example.com/logs/error.log
    CustomLog /var/www/www.example.com/logs/access.log combined

#### Ajustes del protocolo SSL para algunos navegadores con problemas conocidos
    BrowserMatch "MSIE [2-6]" \
            nokeepalive ssl-unclean-shutdown \
            downgrade-1.0 force-response-1.0
    # MSIE 7 and newer should be able to use keepalive
    BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>




--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/50a4d17b.6090...@gmail.com

Responder a