> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuração de Deployment Estático

> Aprenda como configurar cabeçalhos HTTP, regras de roteamento e rewrites de URL para deployments estáticos.

Este guia aborda as seguintes configurações no nível do servidor web:

* [Adicionar cabeçalhos de resposta](#add-response-headers)
* [Criar uma página 404 personalizada](#create-a-custom-404-page)
* [Definir rewrites de caminho de URL](#define-url-path-rewrites)

## Adicionar cabeçalhos de resposta

**Cabeçalhos de resposta** personalizados permitem que você adicione instruções de cabeçalho HTTP a requisições que correspondam a caminhos específicos.
Um cabeçalho de resposta é um par nome-valor que fornece instruções aos navegadores sobre como
interagir com o conteúdo solicitado.

Por exemplo, você pode especificar o cabeçalho `Access-Control-Allow-Origin` para indicar quais domínios o navegador pode acessar para aquela página.
Para criar essa entrada, adicione o seguinte ao arquivo `.replit` no diretório raiz do seu Replit App:

```
[[deployment.responseHeaders]]
path = "/*"
name = "Access-Control-Allow-Origin"
value = "origin"
```

Este cabeçalho de resposta inclui os seguintes parâmetros:

* **path**: padrão de caminho de URL que corresponde aos recursos solicitados
* **name**: nome do cabeçalho HTTP
* **value**: valor do cabeçalho HTTP

Você pode adicionar múltiplas entradas `deployment.responseHeaders` ao arquivo `.replit`.

Para aplicar as atualizações de configuração, republique seu Replit App.

#### Cabeçalhos reservados

O Replit reserva os seguintes cabeçalhos HTTP e não permite que você os configure.

```text [expandable] theme={null}
Accept-Ranges
Age
Allow
Alt-Svc
Connection
Content-Encoding
Content-Length
Content-Range
Date
Location
Server
Set-Cookie
Trailer
Transfer-Encoding
Upgrade
```

<Tip>
  Para saber mais sobre cabeçalhos HTTP, consulte

  <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers" target="_blank">
    HTTP headers
  </a>

  na documentação web do MDN.
</Tip>

## Criar uma página 404 personalizada

Uma página 404 personalizada é exibida quando os usuários solicitam caminhos de URL que não correspondem a nenhum arquivo ou regra no seu app publicado.

Para adicionar uma página 404 personalizada, crie o conteúdo da página em um arquivo chamado `404.html` no diretório raiz do seu Replit App.

Quando os usuários tentarem acessar um caminho de URL que não existe, eles verão o HTML renderizado da página 404 personalizada.

## Definir rewrites de caminho de URL

Você pode definir rewrites de URL para alterar o caminho de URL de uma requisição antes que seu Replit App a processe.
A URL original permanece visível no navegador, mas o servidor carrega o recurso definido na regra de rewrite.

Por exemplo, você pode especificar que todas as requisições que começam com `/app` carregam o conteúdo do arquivo `/app/index.html`.
Para criar essa entrada, adicione o seguinte ao arquivo `.replit` no diretório raiz do seu Replit App:

```
[[deployment.rewrites]]
from = "/app/*"
to = "/app/index.html"
```

* **from**: padrão de caminho de URL que corresponde aos recursos solicitados
* **to**: caminho reescrito, que corresponde a um arquivo no seu Deployment Estático.

Você pode adicionar múltiplas entradas `deployment.rewrites` ao arquivo `.replit`.
O servidor interpreta as entradas na ordem listada e ignora duplicatas.

Para aplicar as atualizações de configuração, você deve republicar seu Replit App.

As seções a seguir descrevem as restrições das regras de rewrite de URL.

### Correspondência de caminho

As seguintes restrições se aplicam aos parâmetros `from` e `to` nas regras de rewrite:

* As correspondências devem ser exatas, a menos que um `*` esteja presente
* Um `*` corresponde ao restante de um caminho
* Um `*` é válido apenas no final do caminho
* Ao incluir `*` no parâmetro `from`, você pode incluí-lo no parâmetro `to` para representar a seção correspondente do caminho

Por exemplo, se o arquivo `.replit` contiver o seguinte rewrite:

```
[[deployment.rewrites]]
from = "/v1/*"
to = "/v2/*"
```

Quando um usuário visitar o caminho `/v1/about-us.html`, o rewrite servirá o arquivo localizado em `/v2/about-us.html`.

### Shadowing

Shadowing ocorre quando um rewrite corresponde a um caminho de URL que também corresponde a um arquivo no seu Deployment Estático.
Quando isso ocorre, o servidor na nuvem ignora o rewrite e serve o arquivo diretamente.

Por exemplo, suponha que seu app publicado contenha os seguintes arquivos:

* `index.html`
* `about.html`

O arquivo `.replit` contém o seguinte rewrite:

```
[[deployment.rewrites]]
from = "/*"
to = "/index.html"
```

Quando um usuário visitar `/register.html`, o servidor reescreve a requisição para `/index.html` e serve esse arquivo.
No entanto, se um usuário visitar `/about.html`, o servidor ignora o rewrite e serve o arquivo `about.html` já que ele existe no seu Deployment Estático.

### Restrições de domínio

Rewrites funcionam apenas para requisições ao domínio principal do seu Deployment Estático e só
podem redirecionar para arquivos dentro do seu Deployment Estático.
