Problema com reescrita de URL na Locaweb
Olá a todos.
Possuo um sistema que utiliza URL amigáveis e que utilizo em diversos locais sem problemas, porém o mesmo não está funcionando na Locaweb.
Creio que o problema esteja no arquivo .htaccess, mais precisamente na linha:
RewriteRule ^(.*)$ index.php/$1 [L]
Eu utilizo trê argumentos que são lidos desta maneira:
/controlador/método/argumento
Mas quando a página tenta ser acessada ela não direciona para o local correto e exibe o caminho na URL como por exemplo:
http://www.site.com.br/admin/index/logar
Na verdade 'index' e 'logar' são o controlador e método respectivamente.
Já tentei fazer alterações no .htaccess sem sucesso, seque o arquivo completo para verificação:
.htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
e o arquivo que identifica a página:
<?php
$pos = strpos($_SERVER["PHP_SELF"], "index.php") + 10;
$args = explode("/", substr($_SERVER["PHP_SELF"], $pos));
if(!file_exists("app/".reset($args))) {
$controller = reset($args);
$controller = (!empty($controller)) ? $controller : "index";
if(count($args) > 1) {
$metodo = $args[1];
unset($args[0]);
unset($args[1]);
if(count($args) > 1) {
sort($args);
} else {
$args = reset($args);
}
} else {
$metodo = "init";
$args = null;
}
} else {
$app = reset($args);
if(count($args) > 1) {
$controller = $args[1];
}
if(count($args) > 2) {
$metodo = $args[2];
unset($args[0]);
unset($args[1]);
unset($args[2]);
if(count($args) > 1) {
sort($args);
} else {
$args = reset($args);
}
} else {
$metodo = "init";
$args = null;
}
}
$args = (count($args) > 1) ? array_reverse($args) : $args;
$app = (!empty($app)) ? $app : "default";
$controller = (!empty($controller)) ? $controller : "index";
$controller = trataURL($controller);
define("APP",$app);
?>
Alguem sabe o que pode ser?
Obrigado.
Discussão (3)
Carregando comentários...