Este é um problema do lado do cliente relacionado ao uso de URLs relativos. Como você está efetivamente reescrevendo o URL de /console/console.html
a /Console
, qualquer URL relativa (para imagens, CSS, JS, etc.) agora será relativa à raiz do documento e não ao subdiretório /console
.
Você precisa "consertar" suas URLs relativas e torná-las relacionadas à raiz (ou seja, começar com uma barra, como em /console/images/1.jpg
) ou torná-las absolutas.
Como alternativa, você pode incluir um elemento base
na seção head
do seu documento HTML. Isso faz referência à URL absoluta para a qual todas as URLs relativas são relativas . Em outras palavras, como você espera que esses URLs relativos sejam relativos ao documento /console/console.html
, adicione o seguinte à seção head
:
<base href="http://example.com/console/console.html">
Agora, um URL relativo como images/1.jpg
referenciado em um documento na URL /Console
solicitará http://example.com/console/images/1.jpg
, não http://example.com/images/1.jpg
.
No entanto, existem advertências com o uso do elemento base
. Notavelmente, se você tiver links relativos in-page usando identificadores de fragmentos, por exemplo, href="#some-id"
. Agora, isso também é relativo ao seu elemento base
, para que o link in-page seja quebrado. A única maneira de contornar isso é qualificar totalmente o link.
Referência: link
No entanto, Alias
não é a diretiva correta a ser usada no mapeamento para um único arquivo, pois Alias
é a correspondência de prefixo, portanto, /Console/foo
seria mapeado para /console/console.html/foo
também. Talvez você possa usar AliasMatch
:
AliasMatch ^/Console$ /console/console.html
Isso mapeará apenas /Console
.
Ou você poderia usar o mod_rewrite e emitir uma reescrita interna . (Ao contrário de um redirecionamento externo que mudaria o URL e faria o cliente emitir um segundo pedido.) Por exemplo:
RewriteEngine On
RewriteRule ^/?Console$ /console/console.html [L]