Ir para conteúdo
Entre para seguir isso  
Maira_Torresani

Problemas com url HTACCES - Redirecionamento 301 dando erro na url

Recommended Posts

Fiz redirecionamentos 301 de algumas das url's do meu site recentemente e começou a dar o problema da imagem:

url.PNG

Meu .htacces está assim:

RewriteEngine On
Options All -Indexes

RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1

RewriteCond %{HTTP_HOST} ^www.(.*) [NC]
RewriteRule ^(.*) http://%1/$1 [R=301,L]

RewriteBase /
RewriteCond %{REQUEST_URI} /+[^.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]

ErrorDocument 404 /404

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"
</IfModule>

<IfModule mod_headers.c>
Header unset Etag
Header unset Last-Modified 
</IfModule>

#REDIRECIONAMENTOS ***********

RewriteCond %{HTTP_HOST} ^MEUURLANTIGO\.com\.br$ [OR]
RewriteCond %{HTTP_HOST} ^www\.MEUURLANTIGO\.com\.br$
RewriteRule ^/?$ "http\:\/\/MEUURLNOVO\.com\.br\/" [R=301,L]

#MATERIAIS

RewriteCond %{HTTP_HOST} ^MEUURLANTIGO\.com\.br$ [OR]
RewriteCond %{HTTP_HOST} ^www\.MEUURLANTIGO\.com\.br$
RewriteRule ^material\-educativo/?$ "http\:\/\/MEUURLNOVO\.com\.br\/materiais\/" [R=301,L]

#BLOG

RewriteCond %{HTTP_HOST} ^MEUURLANTIGO\.com\.br$ [OR]
RewriteCond %{HTTP_HOST} ^www\.MEUURLANTIGO\.com\.br$
RewriteRule ^blog/?$ "http\:\/\/MEUURLNOVO\.com\.br\/blog\/" [R=301,L]

#artigos

RewriteCond %{HTTP_HOST} ^MEUURLANTIGO\.com\.br$ [OR]
RewriteCond %{HTTP_HOST} ^www\.MEUURLANTIGO\.com\.br$
RewriteRule ^blog\/impacto\-da\-internet\-nas\-empresas/?$ "http\:\/\/MEUURLNOVO\.com\.br\/blog\/impacto\-da\-internet\-nas\-empresas\/" [R=301,L]

RewriteCond %{HTTP_HOST} ^MEUURLANTIGO\.com\.br$ [OR]
RewriteCond %{HTTP_HOST} ^www\.MEUURLANTIGO\.com\.br$
RewriteRule ^blog\/5\-otimos\-motivos\-para\-investir\-em\-social\-media/?$ "http\:\/\/MEUURLNOVO\.com\.br\/blog\/5\-otimos\-motivos\-para\-investir\-em\-social\-media\/" [R=301,L]

Já procurei e não faço idéia do porque está dando esse erro :/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está com muitas regras e muita repetição de código. Mas esse não é o problema maior, e sim a primeira regra:

RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1

Basicamente, essa regra informa que se não for um arquivo e não for um diretório, deve redirecionar para index.php?url={restante da url, exceto rewrite base}.

Entenda que o .htaccess é como um switch case, ou um conjunto de if's aninhados, se uma condição for verdadeira, ela será executada. A sua condição global para links simbólicos é a primeira. Logo, será sempre executada antes das demais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa, agora entendi o porque antes estava funcionando e agora deu esse erro, eu tinha meu site em uma pasta e aí tinham 2 arquivos .htaccess; agora que o site está na pasta raiz, juntei o 2 arquivos .htaccess e deu esse conflito entre os códigos...

Coloquei os redirecionamentos pra cima e as outras regras coloquei no fim do arquivo, por enquanto está funcionando.

Obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
Entre para seguir isso  

  • Conteúdo Similar

    • Por stewartcintra@
      Pessoal, estou tentando fazer essas url amigaveis, mas não esta dando certo
      preciso quando as paginas do site (contas.php fiquem /contas) isso consegui fazer
      e o arquivos contas  (contas.php?exibe=Vencidas fique /contas/Vencidas) que nao consigo passa as duas regras juntas
       
      Meu arquivo .htaccess
      RewriteEngine On
      RewriteRule ^([a-z]+)\/?$ /$1.php [NC]
      RewriteRule ^([a-z,0-9,A-Z,_-]+)\/contas?$ contas.php?exibe=$1
       
    • Por MateusOFCZ
      Olá, estou desenvolvendo um sistema de publicidade para meu site, e quando entra em uma página, vamos chama-la de "Publicidade" ele mostra uma publicidade e depois de 10 segundos ele redireciona (OBS.: Essa página já está funcionando 100%), e temos outra página que vamos chama-la de "Início", bom... Quando você entrar na página "Início" ele irá na verdade, redirecionar o usuário para a página de Publicidade, porém, como faço para a pessoa não poder pular essa publicidade, como se fosse um camuflador de página, ou seja, se o usuário acessar a página ele irá para a página "imasters.com.br/publicidade", porém se ele alterar o link para "imasters.com.br/inicio" ele irá obrigar o usuário a ver a publicidade primeiro para depois leva-lo a página de "Inicio", caso isso seja complexo de fazer, teria alguma forma de esconder o nome da página (a parte do "/inicio" por exemplo), e deixar apenas o link, por exemplo, se eu ir para a página de publicidade irá aparecer apenas o link, neste caso "imasters.com.br", e não "imasters.com.br/publicidade", caso tenha alguma dúvida sobre o meu pedido pode perguntar, não mordo rs.

      Deis de já agradeço!
    • Por leonardo021970
      Tem alguma maneira de capturar todas as urls do site?
      Testei pelo google mas ele retorna apenas alguns resultados pelo jeito que testei
    • Por walacy.moreira
      Boa noite galera.
       
      Seguinte, eu tenho uma página em HTML e gostaria de ocultar a URL exibida no navegador. Alguém sabe se é possível? Pesquisei várias formas inclusive htaccess mas sem sucesso. 
       
      Exemplo: http://meusite/chat/index.html
       
      Gostaria que ao acessar o endereço acima seja exibida apenas a url:
      http://meusite/
      ou então:
      http://meusite.com.br/
    • Por WEBCHARLES
      tenho o seguinte .htaccess no meu site:
       
      RewriteEngine On
      RewriteCond %{SERVER_PORT} 80
      RewriteRule ^(.*)$ https://www.meusite.br/$1 [R,L]
       
      OBS: Funciona perfeitamente em todo o meu site
       
      e tenho o seguinte .htaccess na pasta do codeigniter chamada admnoticias:
       
      RewriteEngine on
      RewriteCond $1 !^(index\.php|public|\.txt)
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^(.*)$ index.php?$1 [L]
       
      Entretando para este, quando faço login no sistema de noticias, perco a comunicação entre view, controller e model. Já quando retiro o .htaccess de todo o site, o sistema volta a funcionar normalmente, mas a pagina fica como insegura. Alguém ajuda a resolver esse problema por favor!!
×

Informação importante

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