> ## 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 a configurar cabeçalhos HTTP, regras de roteamento e reescritas de URL para deployments estáticos.

Este guia abrange 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 reescritas de caminho de URL](#define-url-path-rewrites)

## Adicionar cabeçalhos de resposta

Os **cabeçalhos de resposta** personalizados permitem adicionar 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 App Replit:

```
[[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 atualizações de configuração, republique seu App Replit.

#### 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 da 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 App Replit.

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 reescritas de caminho de URL

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

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

```
[[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 atualizações de configuração, você deve republicar seu App Replit.

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

### Correspondência de caminho

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

* 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 seu arquivo `.replit` contiver a seguinte reescrita:

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

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

### Sombreamento

O sombreamento ocorre quando uma reescrita corresponde a um caminho de URL que também corresponde a um arquivo no seu Deployment Estático.
Quando isso ocorre, o servidor de nuvem ignora a reescrita 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 a seguinte reescrita:

```
[[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.
Porém, se um usuário visitar `/about.html`, o servidor ignora a reescrita e serve o arquivo `about.html`, pois ele existe no seu Deployment Estático.

### Restrições de domínio

As reescritas 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.
