Redirecionar URL em PHP dentro do mesmo domínio

  • Autor Autor mmpo16
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
M

mmpo16

Beta
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
www.misitio.com/index.php a mi sitio www.misitio.com lo necesito en codigo php imposible desde .htaccess porque tengo ahi unas redirecciones que cuando activo desde ahi lo que pido altera la estructuras de unas urls bueno es un rollo.

Lo que necesito es como redireccionar
www.misitio.com/index.php a www.misitio.com pero solamente ese porqueh ay otros folders por ejemplo podria ser www.misitio.com/juegos/index.php ese no lo necesito redireccionar solamente el que esta en la raiz www.misitio.com/index.php

Espero me puedan ayudar es sumamente urgente.

PD: La redireccion es 301 y es en mi mismo dominio no hacia otra pagina.
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Este código lo pegas en el header de tu sitio. Lo puedes hacer así:

PHP:
<?
header( "HTTP/1.1 301 Moved Permanently" );
header( "Location: http://www.misitio.com" );
?>
 
Me sale en el navegador que esa redireccion nunca acabara
 
Tienes que hacerlo con htcacces, no hay más.
 
Tienes que hacerlo con htcacces, no hay más.

Este es mi archivo .htaccess

Inserir CODE, HTML ou PHP:
Options -Indexes
Options +FollowSymLinks

<IfModule mod_php5.c>
  php_value max_input_time                  7200
  php_value max_execution_time              7200
  php_value memory_limit                    2048M
  php_value magic_quotes_gpc                0
  php_value magic_quotes_runtime            0
  php_value register_globals                0
  php_value session.auto_start              0
</IfModule>

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{HTTP_HOST} ^misitio.com [NC]
    RewriteRule ^(.*)$ http://www.misitio.com/$1 [L,R=301]
   
    RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
    RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
    RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
    RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
    RewriteCond %{QUERY_STRING} SELECT(=|\[|\%[0-9A-Z]{0,2}) [OR]
    RewriteCond %{QUERY_STRING} UNION(=|\[|\%[0-9A-Z]{0,2}) [OR]
    RewriteCond %{QUERY_STRING} UPDATE(=|\[|\%[0-9A-Z]{0,2}) [OR]
    RewriteRule ^(.*)$ index.php [L,QSA]
   
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>

<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault A1209600
  ExpiresByType text/html A1
  ExpiresByType text/html A1
  ExpiresByType text/html A1
  ExpiresByType text/html A1
</IfModule>

<ifModule mod_gzip.c>
  mod_gzip_on Yes
  mod_gzip_dechunk Yes
  mod_gzip_item_include file \.(html?|css|js)$
  mod_gzip_item_include handler ^cgi-script$
  mod_gzip_item_include mime ^text/.*
  mod_gzip_item_include mime ^application/x-javascript.*
  mod_gzip_item_exclude mime ^image/.*
  mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

#FileETag MTime Size

#php_value xdebug.profiler_output_dir /tmp
#php_value xdebug.profiler_output_name cachegrind.out.%t.%p
#php_value xdebug.profiler_enable 1

Yo intente poner esto
Inserir CODE, HTML ou PHP:
RewriteCond %{REQUEST_URI} ^/index\.php
RewriteRule ^.*$ http://%{HTTP_HOST} [R=301,L]
pero al poner eso em altera la estructura de otras urls al parecer interaccion con algo que esta ya definido en ese archivo y pone en una url de esta forma http://www.misitio.com/php?q=38454/lalalalalala y originalmente es asi http://www.misitio.com/38454/lalalalalala

Alguien me puede ayudar a indetificar porque cuando pongo esto se alteran otras cosas?
Inserir CODE, HTML ou PHP:
RewriteCond %{REQUEST_URI} ^/index\.php
RewriteRule ^.*$ http://%{HTTP_HOST} [R=301,L]

Alguien me podria ayudar con esto? es sumamente urgente para mi
 
Última edição por um moderador:
PHP:
//con php podrias intentar esto

if(stristr($_SERVER['REQUEST_URI'], 'index.php')){

//solo detectara si hay index.php
header(sprintf("Location: http://%s/", $_SERVER['HTTP_HOST']));

}
 
Última edição:
PHP:
//con php podrias intentar esto

if(stristr($_SERVER['REQUEST_URI'], 'index.php')){

//solo detectara si hay index.php
header(sprintf("Location: http://%s/", $_SERVER['HTTP_HOST']));

}

Muchas gracias lo resolvi hoy en la mañana con otro codigo similar php tambien pero te agredesco mucho tu ayuda de todas formas.
 
Voltar
Topo