>
Boa tarde!
Seguindo este modelo abaixo:
RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)$ index.php?Controller=$1&&Action=Index
RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ index.php?Controller=$1&&Action=$2
RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ index.php?Controller=$1&&Action=$2&Id=$3
Como eu defino qual será a minha action default ao abrir o projeto? Sabendo que quando hospedarmos o projeto vai abrir a index, como ele vai saber qual é a minha index, no caso eu criei um controller chamado inicio e uma action chamada index para abrir a primeira página, e agora? Por favor como eu faço?
Douglas
Tente:
RewriteRule ^(. )$ index.php?Controller=NOMEDOCONTROLLER&&Action=Index
Ou via PHP que pode ser mais simples.
Lá no index.php, verifica se esta vazio a query String Controller e Action, assim, você direcionado pra que deseja
1.Estou com este problema tb, crei a default desse jeito e quando o não digito nada na url(http://localhost:8080/mvc) ele redireciona para http://localhost:8080/mvc/home/index, porém se eu apago o "index" e deixo só http://localhost:8080/mvc/home ele não encontra meu css, como resolvo isto? redireciona novamente pra ulr http://localhost:8080/mvc/home/index? se faço isso ele fala que a página tem um loop de redirecionamento e a página fica indisponível.
2. Como faço para criar uma página personalizada de erro 404? Creio que devo criar um controller pra isto tb, mas a dúvida está no index.php como verificar se realmente o controller não existe? uso !isset?. Abaixo segue o código da primeira questão.
if(isset($_GET["Controller"]))
{
include "Controller/".$_GET["Controller"]."Controller.php";
$class = $_GET["Controller"]."Controller";
eval("\$Controller = new $class();");
if(isset($_GET["Action"]))
{
eval("\$Controller->\$_GET['Action']();");
}
}
if (empty($_GET["Controller"]) && empty($_GET["Action"]) )
{
header("Location:http://localhost:8080/pim/home/index");
//include 'view/home/index.html';
}
Fernando
Você precisa abrir um tópico novo para sua dúvida.
Obrigado
Já abri.