Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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?
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]
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
/applications/core/interface/imageproxy/imageproxy.php?img=http://i.imgur.com/JuPsdm5.png&key=3c3d0dd7c0cac92394ecddd172f8834f85e31ff0d417f48e66ad4cdd917342ca" alt="JuPsdm5.png" />
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
}