Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

#29095
Boa tarde galera. Já tava na hora de poder compartilhar algo pra comunidade.

Tenho visto aqui na comunidade e em vários outros locais algumas situações que envolvem a famigerada 'sujeira' de link...
Código: Selecionar todos
index.php?route=common/home
... mesmo quando a URL amigável está ativada.
E aí vem módulos, vqmod's e tal, alguns pagos... e é algo bem simples de se resolver, utilizando o .htaccess.

Em hospedagens (linux, ao menos) se resolve facilmente este problema:
1º passo: Habilite a url amigável (Dãããããã) em Sistema->Configurações->Aba Servidor
2º passo: Encontre no início do .htaccess o trecho:
Código: Selecionar todos
RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
E substitua por:
Código: Selecionar todos
RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
RewriteCond %{QUERY_STRING} ^route=common/home$
RewriteRule ^index\.php$ http://www.seudomino.com.br? [R=301,L]
... alterando o 'http://www.seudomino.com.br' pelo endereço real de seu site.

3º passo: Insira as url's amigáveis nos cadastros de produtos, páginas, departamentos, etc...

Em tempo, não usar url amigável é voltar pra web do início dos anos 2000, galera. Use, sempre!
Url's amigáveis são sexy! ;)


E pronto! Problema resolvido!
Espero que seja útil para os novatos.
Vida longa ao OpenCart! ;)

(com uma pequena ajuda do http://www.nixstudio.com/blog/seo-frien ... -opencart/, aliada a alguns testes. :) )
ItaparicaDigital gostou disso
#29120
Ah sim, um detalhe que passou batido:
Caso seu endereço seja algo como http://www.dominio.com.br/loja, faça o 2º passo desta forma:

2º passo: Encontre no início do .htaccess o trecho:

Código: Selecionar todos
    RewriteBase /
    RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
    RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
    RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

E substitua por:

Código: Selecionar todos
    RewriteBase /loja
    RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
    RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
    RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
    RewriteCond %{QUERY_STRING} ^route=common/home$
    RewriteRule ^index\.php$ http://www.seudomino.com.br/loja? [R=301,L]
(no caso: RewriteBase /loja e RewriteRule ^index\.php$ http://www.seudomino.com.br/loja? [R=301,L])
... alterando o 'http://www.seudomino.com.br' pelo endereço real de seu site.

Bem simples. =)
#29723
http://www.gamesfacil.com.br/2012/iphone

PEgo erro de nao encontrado, botei assim no meu htacess


RewriteBase /2012
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
RewriteCond %{QUERY_STRING} ^route=common/home$
RewriteRule ^index\.php$ http://www.gamesfacil.com.br/2012? [R=301,L]

valeu
#29725
evaristood escreveu:http://www.gamesfacil.com.br/2012/iphone

PEgo erro de nao encontrado, botei assim no meu htacess


RewriteBase /2012
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
RewriteCond %{QUERY_STRING} ^route=common/home$
RewriteRule ^index\.php$ http://www.gamesfacil.com.br/2012? [R=301,L]

valeu
evaristood, a URL amigável está habilitada e o .htaccess.txt renomeado para .htaccess ?!
Sua hospedagem é linux ou Windows?!

Gente preciso de ajuda urgente. Na migraç&a[…]

Caro @reds , muito obrigado pela resposta.

PHP 8+ incompatibilidade

Toda tradução para a versão 3[…]

Ola @alex3257 Se você precisa apenas ver […]