# Configuração do .htaccess - Checkout Pro 2025

## 📋 Documentação Completa

Este documento descreve a configuração do `.htaccess` implementada no sistema Checkout Pro 2025.

---

## 📁 Arquivos Criados/Modificados

### 1. **Raiz do Projeto** (`/.htaccess`)
   - **Localização**: Raiz do projeto
   - **Função**: Configuração principal de rotas e segurança
   - **Status**: ✅ Criado

### 2. **Pasta Views** (`/views/.htaccess`)
   - **Localização**: `views/.htaccess`
   - **Função**: Proteção e acesso aos arquivos de checkout
   - **Status**: ✅ Criado

### 3. **Pasta Backend** (`/backend/.htaccess`)
   - **Localização**: `backend/.htaccess`
   - **Função**: Proteção dos processadores de pagamento
   - **Status**: ✅ Criado

### 4. **Pasta Dashboard** (`/dashboard/.htaccess`)
   - **Localização**: `dashboard/.htaccess`
   - **Função**: Configurações específicas do painel administrativo
   - **Status**: ✅ Criado

---

## 🎯 Arquivo Principal (Entry Point)

### **Página Inicial Padrão**
Quando o usuário acessa apenas o domínio (ex: `https://meudominio.com/`), o sistema redireciona para:

**`dashboard/login_completo.php`**

Esta é a página de login/cadastro/recuperação de senha do sistema.

### **Configuração**
```apache
DirectoryIndex dashboard/login_completo.php index.php
```

---

## 🛣️ Rotas Principais Configuradas

### **1. Dashboard Admin**

| URL Amigável | Rota Original | Descrição |
|--------------|---------------|-----------|
| `/admin` | `dashboard/index.php?page=dashboard` | Painel principal do admin |
| `/admin/produtos` | `dashboard/index.php?page=produtos` | Gestão de produtos |
| `/admin/pedidos` | `dashboard/index.php?page=pedidos` | Pedidos realizados |
| `/admin/usuarios` | `dashboard/index.php?page=usuarios` | Gerenciamento de usuários |
| `/admin/credenciais` | `dashboard/index.php?page=credenciais` | Configuração de checkout |
| `/admin/saques` | `dashboard/index.php?page=saques` | Gestão de saques |
| `/admin/pixel` | `dashboard/index.php?page=pixel` | Pixel & Rastreamento |
| `/admin/carrinhos` | `dashboard/index.php?page=carrinhos` | Recuperação de vendas |

### **2. Área do Usuário**

| URL Amigável | Rota Original | Descrição |
|--------------|---------------|-----------|
| `/usuario` | `dashboard/usuario.php` | Área do usuário |
| `/usuario/produtos` | `dashboard/usuario.php?page=meus_produtos` | Meus produtos |
| `/usuario/financeiro` | `dashboard/usuario.php?page=financeiro` | Financeiro |
| `/usuario/afiliacao` | `dashboard/usuario.php?page=afiliacao_marketplace` | Afiliação |
| `/usuario/configuracoes` | `dashboard/usuario.php?page=configuracoes` | Configurações |

### **3. Checkout e Vendas**

| URL Amigável | Rota Original | Descrição |
|--------------|---------------|-----------|
| `/marketplace` | `views/marketplace.php` | Marketplace de produtos |
| `/loja` | `views/marketplace.php` | Alias para marketplace |
| `/checkout/produto/123` | `views/dados_pessoais.php?produto_id=123` | Início do checkout |
| `/checkout/123` | `views/checkout.php?produto_id=123` | Página de pagamento |
| `/aprovado` | `views/aprovado.php` | Página de sucesso |
| `/reprovado` | `views/reprovado.php` | Página de erro |

### **4. Autenticação**

| URL Amigável | Rota Original | Descrição |
|--------------|---------------|-----------|
| `/login` | `dashboard/login_completo.php` | Login/Cadastro/Recuperação |
| `/logout` | `dashboard/logout.php` | Logout |

---

## ✅ Compatibilidade Mantida

### **Rotas Antigas Continuam Funcionando**

Todas as rotas antigas continuam funcionando normalmente:

- ✅ `views/dados_pessoais.php?produto_id=123`
- ✅ `views/checkout.php?produto_id=123`
- ✅ `views/aprovado.php`
- ✅ `views/reprovado.php`
- ✅ `views/marketplace.php`
- ✅ `backend/process_payment.php`
- ✅ `backend/process_payment_pix.php`
- ✅ `backend/process_payment_stripe.php`
- ✅ `backend/process_payment_paypal.php`
- ✅ `backend/webhook.php`
- ✅ `dashboard/index.php?page=produtos`
- ✅ `dashboard/usuario.php?page=meus_produtos`

---

## 🔒 Segurança Implementada

### **1. Proteção de Arquivos Sensíveis**
- Bloqueio de acesso a: `.htaccess`, `.htpasswd`, `.ini`, `.log`, `.sql`, `.md`
- Proteção da pasta `vendor/` (Composer)
- Proteção de arquivos SQL na pasta `config/`

### **2. Prevenção de Listagem**
- `Options -Indexes` em todas as pastas
- Previne que usuários vejam conteúdo de diretórios

### **3. Permissões de Arquivos**
- Permite apenas arquivos públicos (imagens, CSS, JS, fontes)
- Bloqueia acesso a arquivos de configuração

---

## ⚡ Performance

### **1. Cache de Arquivos Estáticos**
- Imagens: 1 ano
- CSS/JS: 1 mês
- Fontes: 1 ano

### **2. Compressão GZIP**
- Ativada para HTML, CSS, JS e JSON
- Reduz tamanho de transferência

---

## 🔧 Configurações PHP (se permitido)

- `upload_max_filesize`: 10M
- `post_max_size`: 10M
- `max_execution_time`: 300s
- `max_input_time`: 300s

---

## 📝 Exemplos de Uso

### **Antes (URLs Antigas)**
```
https://meudominio.com/dashboard/index.php?page=produtos
https://meudominio.com/views/dados_pessoais.php?produto_id=123
https://meudominio.com/views/checkout.php?produto_id=123
```

### **Depois (URLs Amigáveis)**
```
https://meudominio.com/admin/produtos
https://meudominio.com/checkout/produto/123
https://meudominio.com/checkout/123
```

### **Ambos Funcionam!**
As URLs antigas continuam funcionando, mas as novas são mais profissionais e amigáveis.

---

## 🚀 Como Usar

### **1. Acessar o Sistema**
- Acesse: `https://meudominio.com/`
- Será redirecionado para: `https://meudominio.com/login`

### **2. Dashboard Admin**
- Acesse: `https://meudominio.com/admin`
- Ou: `https://meudominio.com/admin/produtos`

### **3. Marketplace**
- Acesse: `https://meudominio.com/marketplace`
- Ou: `https://meudominio.com/loja`

### **4. Checkout**
- Acesse: `https://meudominio.com/checkout/produto/123`
- Depois: `https://meudominio.com/checkout/123`

---

## ⚠️ Importante

### **Requisitos do Servidor**
- ✅ Apache com `mod_rewrite` ativado
- ✅ `AllowOverride All` configurado no Apache
- ✅ PHP 7.4 ou superior

### **Verificação**
Para verificar se está funcionando, acesse:
- `https://meudominio.com/admin` (deve carregar o dashboard)
- `https://meudominio.com/marketplace` (deve carregar o marketplace)

Se não funcionar, verifique:
1. Se `mod_rewrite` está ativado no Apache
2. Se `AllowOverride All` está configurado
3. Se os arquivos `.htaccess` foram criados corretamente

---

## 📞 Suporte

Se houver problemas com as rotas, todas as URLs antigas continuam funcionando como fallback.

---

**Última atualização**: 2025-01-XX
**Versão do Sistema**: Checkout Pro 2025 v2.0


