Caminho do diretório virtual em arquivos HTML

1

Eu tentei criar um servidor de desenvolvimento copiando um site de um host para um segundo host diferente, mas os servidores parecem lidar com caminhos virtuais de maneira diferente.

No servidor principal, isso funciona:

<link href="/styles/styles.css" rel="stylesheet" type="text/css">

No servidor dev, o mesmo caminho precisaria ser escrito como (sem a primeira barra):

<link href="styles/styles.css" rel="stylesheet" type="text/css">

Como posso fazer o servidor de desenvolvimento funcionar com os arquivos dos servidores principais sem reescrever os caminhos? Isso é algo que eu posso fazer com o .htaccess com mod rewrite?

    
por JMC 19.11.2010 / 08:37

1 resposta

2

Primeiro, alguns antecedentes sobre como os caminhos funcionam. Caminhos absolutos são baseados na raiz do servidor . Caminhos relativos são baseados na URL (não no caminho do arquivo) da página atual. No entanto, este comportamento não é tratado pelo servidor - é tratado pelo cliente, e esse comportamento é universal (Sim, até mesmo o IE6 ... eu sei, surpresa!). A única coisa que faria com que esses dois caminhos NÃO fossem os mesmos seria se eles não fossem relativos à raiz do site.

Por exemplo, se estiver tentando acessar a URL que você mencionou acima (/styles/styles.css), veja como eles se comportariam nos dois exemplos a seguir:

Site "Servidor principal" hospedado no link

styles/styles.css  => http://mainwebsite/styles/styles.css
/styles/styles.css => http://mainwebsite/styles/styles.css

Site do "servidor de desenvolvimento" hospedado no link

styles/styles.css  => http://devsite/some_sub_dir/styles/styles.css
/styles/styles.css => http://devsite/styles/styles.css

Se você esclarecer sua resposta (esses servidores claramente não hospedam os mesmos dados da mesma maneira), eu poderia fornecer uma descrição mais precisa. No entanto, se eu tivesse que adivinhar, eu diria que você provavelmente está se deparando com o problema que descrevi.

Boa sorte!

Andrew

    
por 19.11.2010 / 14:15