Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho istema de pesquisa que tem como base de pesquisa assim:
http://www.tectonny.com/index.php?search=TERMOPESQUISADO
Queria usa htaccess para ficar dessa forma:
http://www.tectonny.com/q/TERMOPESQUISADO
ou
http://www.tectonny.com/search/TERMOPESQUISADO
ou
http://www.tectonny.com/OQUEEUQUISER/TERMOPESQUISADO
Não sei ser esse é local indicado, mas se erei peço desculpas antecipadamente.
E esse arquivo zero.php tem que ser criado?
Coloquei assim
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^search/([\w]*)$ index.php?search=$1 [NC,QSA]
</IfModule>
E para pesquisa até funcionou, mas para baixar deu erro, para baixar usa o arquivo download.php que fica na mesma pasta.
claro
é ele que o htaccess vai usar para a regra RewriteRule ^search/([\w]*)$
Não tem como aplicar também para o arquivo download.php? Todo download passa por este arquivo neste formato:
Você pode adicionar várias regras no arquivo, não é somente uma
Foi o que eu tentei e não resolveu:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^search/([\w]*)$ index.php?search=$1 [NC,QSA]
RewriteRule ^download/([\w]*)$ download.php?$1 [NC,QSA]
</IfModule>
Acho que isso é porque quando clicamos em fazer download ele pega o search:
não era para fazer isso, teria que algo assim:
Sem contar que como o sistema de busca usa get, ainda da erro na pesquisa, veja:
http://www.tectonny.com/search/index.php?search=philco
Ele adiciona o search nas url de pesquisa, tinha que ser assim;
Estive fazendo alguns teste e pesquisando aqui fórum, e o problema está em tratar a pesquisa via form usando GET junto com htaccess.
O outro problema é que eu preciso tratar 2 parâmetros, dessa forma:
http://www.tectonny.com/index.php?search=teste
Ficaria assim>
http://www.tectonny.com/search/teste
http://www.tectonny.com/download.php?l=aHR0cDovL3d3dy40c2hhcmVkLmNvbS9hdWRpby9adThzdHRZWi9Pc19IYXZhaWFub3NfLV9UZXN0ZV9kZV9Db3JkZW4uaHRt
Ficaria assim:
http://www.tectonny.com/download/aHR0cDovL3d3dy40c2hhcmVkLmNvbS9hdWRpby9adThzdHRZWi9Pc19IYXZhaWFub3NfLV9UZXN0ZV9kZV9Db3JkZW4uaHRt
Mas ai vem o primeiro problema, o primeiro link funciona legal, mas os download alem de não aparece com a url reescrita como download/ ele ainda usar o primeiro parâmetro como base ficando assim: search/download.php usou o primeiro parâmetro com base e não reescreveu o download.php.
Segundo problema o formulário faz pesquisa via GET, e da erro de novo porque ainda usa o parâmetro base search/ e ainda não rescreve a pesquisa, tipo search/?teste.
E ai será que tem como resolver?
RewriteRule ^download/([\w]*)$ download.php?$1 [NC,QSA]
RewriteRule ^download/([\w]*)$ download.php?p=$1 [NC,QSA]
notou alguma mudança
Sim, já tem como ou sem o "p=" mas fica na mesma.
Olá, você pode fazer dessa forma:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^search/([\w]*)$ zero.php?search=$1 [NC,QSA]
</IfModule>