Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

michelmfreitas

Ocultar diretório de domínio utilizando htaccess ou router no cakephp

Recommended Posts

Pessoal, estou com dificuldades em criar uma configuração no .htaccess para ocultar uma pasta do meu site.
Meu domínio tem a seguinte estrutura: www.site.com.br/cake , onde estão os arquivos e pastas referentes ao projeto. Quero ocultar o diretório /cake, mostrando apenas o domínio em todas as páginas, www.site.com.br/
O arquivo .htaccess atual possui a seguinte configuração:
<IfModule mod_rewrite.c>
       RewriteEngine on
       RewriteRule    ^$ app/webroot/    [L]
       RewriteRule    (.*) app/webroot/$1 [L]
    </IfModule>

Já tentei:

 RewriteCond %{HTTP_HOST} ^(www.)?site.com.br$
    RewriteCond %{REQUEST_URI} !^/cake/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /
    RewriteCond %{HTTP_HOST} ^(www.)?site.com.br/$
    RewriteRule ^(/)?$ cake/index.php [L]

E não funciona, dá erro 500. Podem me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloque o núcleo do Cake na Raiz, e os arquivos da webroot na public

 

/home/cakephp/
/home/public_html/
/home/public_html/css

/home/public_html/img
/home/public_html/js
/home/public_html/index.php

Na index.php, tem uma constante chamada ROOT, só apontar para a /home/cakephp/, e funcionara, perfeitamente e seu núcleo estará seguro por acesso direto.


app/webroot/index.php


if (!defined('ROOT')) {
	define('ROOT', dirname(dirname(dirname(__FILE__)))); //Aqui você define o diretorio
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi, WIllian.

 

Por ordem do boss, não posso mexer nas estruturas. O site tem que ficar em uma pasta chamada "/novo" ou "/cake", mas fazer a url aparecer sem o diretório para todos acessos.

 

Não estou conseguindo. =(

 

No http://htaccess.madewithlove.be/ funciona perfeitamente, mas quando jogo no servidor, não funciona.

 

RewriteEngine On    # Turn on the rewriting engine

RewriteRule ^cake/*? $2 [NC,L]
#RewriteRule    ^cake/([A-Za-z0-9-]+)?$ $1 [NC,L]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim

Options -Indexes
RewriteEngine on

RewriteBase /cake/

RewriteCond %{DOCUMENT_ROOT}/cake/$1/ -d
RewriteRule ^(.*?[^/])$ %{REQUEST_URI}/ [L,R=302]

RewriteRule ^(.*)$ cake/$1 [L]

Caso um usuário digite na url www.seusite.com.br/cake, vai puxar a tela padrão do cake, mas isso é só uma view, que pode ser alterada ou redirecionada.

E o que você digitar depois, a RewriteBase vai apontar para o diretório do cake

Testando aqui na v3.0 do cake, monta os controllers corretamente.

www.seusite.com.br/produto

<?php
namespace App\Controller;

use App\Controller\AppController;

class ProdutoController extends AppController
{

}

Localização do .htaccess para o teste

JuPsdm5.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.