Orçamento para realizar ficheiro .htaccess - PHP - Portugal-a-Programar
By msantos00,
December 13, 2015 in PHP
Após aproximadamente 20 dias de pesquisa e testes, inclusive um artigo aqui no portugal a programar sem qualquer resposta, tento tentado todas as soluções disponíveis neste forum e outros, a realidade é que simplesmente não consigo colocar o url limpo, simples assim.
Já tentei tudo, mesmo tudo, inclusive funções nativas de php, basicamente o resultado foi nulo.
artigo.php?post_id=x
autor.php?name=x
tag.php?name=x
Tudo que possam imaginar foi tentado e testado com resultado nulo, ja tentei o explode, preg_replace e resultado 0, inclusive funções disponíveis aqui no forum e nada o url não mexe.
Até me sinto mal, porque criei um blog com administração, funções, com gestor de paginas, gestor de arquivos, conta cliente um coisa a serio e chego ao .htaccess pareço um menino.
Portanto, aguardo por pm orçamentos para me tratarem disso.
.htaccess presumo q estejas a falar do apache, procura por mod_rewrite (se o q queres dizer por "url limpo" é algo como /artigo/id)
Olá, eu não percebo muito disto, mas acho que tás a abordar mal o problema.... acho que devias era gerar os links já url friendly e assim não precisavas de utilizar o htaccess para fazer isso.
Não seria melhor utilizar um link
/artigo/id/1
/artigo/1
em vez de usares um link
/artigo.php?id=1
Edited December 13, 2015 by tuga74
Antes de mais, obrigado pela atenção, estás a referir-te a isto:
https://www.portugal-a-programar.pt/topic/50321-routes/page__hl__route
$artigo = strtolower(mysql_real_escape_string($exibe1['titulo']));
$artigoclean = ereg_replace("[^ 0-9a-zA-Z]", " ", $artigo);
while (strstr($artigoclean, "  ")) {
$artigoclean = str_replace("  ", " ", $artigoclean);
$artigoclean = str_replace(" ", "+", $artigoclean);
if ($artigo != '') {
header( 'http://localhost/bblog/artigo/'.$artigo );
Não sei se aqui no forum posso citar ou referenciar outros blogs/artigos online, mas a verdade e que até livros comprei, mas não consigo aplicar a regra, possivelmente será algum de tipo de "truque" no htaccess.
Embora que com o mesmo código eu tenha consigo criar esse urls mas com smarty o framework, para a loja online (outro projecto meu) mas com php base (sem framework) não consigo.
fica aqui o códgigo que uso na loja via smarty framework.
RewriteBase /onlineshop
RewriteRule ^.*-d([0-9]+)/.*-c([0-9]+)/pagina-([0-9]+)/?$ index.php?departamento=$1&categoria=$2&pagina=$3 [L]
RewriteRule ^.*-d([0-9]+)/.*-c([0-9]+)/?$ index.php?departamento=$1&categoria=$2 [L]
RewriteRule ^.*-d([0-9]+)/pagina-([0-9]+)/?$ index.php?departamento=$1&pagina=$2 [L]
RewriteRule ^.*-d([0-9]+)/?$ index.php?departamento=$1 [L]
RewriteRule ^pagina-([0-9]+)/?$ index.php?pagina=$1 [L]s
RewriteRule ^.*-p([0-9]+)/?$ index.php?producto=$1 [L]
Acho que será mais fácil ajudar se explicares melhor o teu problema.
Para que precisas (ou pensas que precisas) do .htaccess?
O preciso usar o mod_rewrite para artigos, categorias, autores e tags de um blog.
A minha grande dúvida passa pelo seguinte, quando desenvolvi uma loja em Smarty o htaccess funcionou com o código que citei acima, mas se aplicar a função php só em php e mysql já não funciona, ou seja aparece sempre o "?id=".
Aparece assim: http://localhost/bblog/artigo.php?id=3 ,
devia aparecer assim: http://localhost/bblog/artigo/3 tal como na loja online.
A base das pastas é a mesma, o sistema de configuração o mesmo não estou mesmo a perceber o que se esta a passar.
E depois não aparece erros, ou seja, fico sem nenhum ponto de partida para o que poderá ser, a única coisa que consegui ao aplicar o REQUEST_URI, mas aparecia http://localhost/bblog/c://wampp/www/bblog/index.php/artigo.php/3?id=3, e em todas as informações que recorri nunca consegui resolver o problema nem com o mapeamento em .htaccess.
Vou deixar aqui mais informação do meu código,
uso uma função para mudar o conteudo de titulo para url amigável para evitar os %25 e %2520 (espaços e caracteres especiais).
Após função:
tutorial-Começar-a-programar-em-Swift-no-Linux
o problema é sempre o ?id, não sai de forma nenhuma do url.
http://localhost/bblog/artigo.php?titulo=Tutorial-Começar-a-programar-em-Swift-no-Linux
http://localhost/bblog/artigo/titulo/Tutorial-Começar-a-programar-em-Swift-no-Linux/
Fica a função que utilizo:
'A' => 'A', 'B' => 'B', 'Γ' => 'G', 'Δ' => 'D', 'Ε' => 'E', 'Ζ' => 'Z', 'Η' => 'H', 'Θ' => '8',
"".$exibe1['titulo']."" ,
e o suposta .htaccess
RewriteRule artigo/titulo/(.*)/ artigo.php?titulo=$1
RewriteRule artigo/titulo/(.*) artigo.php?titulo=$1
Fico a guardar.
O url que è gerado com o url_slug() è correto?
Vê o meu post http://www.portugal-a-programar.pt/topic/69831-aspas-no-url/#entry577436
Edited December 14, 2015 by bioshock
o url_slug() apenas "traduz" o titulo ex: pavavra 2 com o url_slug() fica palavra-2.
fica aqui o código, dentro de um ciclo while.
<a class="btn btn-sm" href="http://localhost/bblog/artigo.php?titulo=
">Saiba Mais</a>
a única diferença e que esta função está em php/mysql e na loja está em .tpl mas é o mesmo.
existe algum exemplo prático ? É que não entendi a lógica.
OK aqui fica a minha última tentativa de ajuda porque sinceramente ainda não percebi o que pretendes fazer...
Se tiveres um request ao server com este url
Com esta regra no .htaccess
Vai procurar pela página
Se em vez disso estás a tentar gerar nos links pretty urls o htaccess não tem nada a ver
Agradeço a atenção de todos vós, mas infelizmente nada resolveu.
Hoje contactei uma empresa e já enviei o código, independentemente de códigos php ou jquery o url tem de ser manipulado via .htaccess, falei com a pessoa em questão ele diz que dá, eu tentei e na loja dá e no blog nada, nem com código nem sem código o url não mexe, fica ali o ?titulo= ou ?id= e simplesmente não mexe.
Como todos os artigos que vi estão incompletos, não dá para aprender é tudo muito subjectivo, se eu não sei fazer, sem ver um artigo ou exemplo devidamente documentado nunca vou aprender, e o meu objectivo é aprender fiquei sem menos 150€ mas aprendo.
Eu sou assim, gosto de ver um exemplo a funcionar estudo entendo o funcionamento e depois crio e altero à minha maneira.
Aliais comprei 2 scripts online, apliquei a mesma função e nada igual, pensei que erro do wamp, instalei o xamp nada, meti no lampp em ubuntu exactamente igual até comprei um domínio hoje fiz upload tentei e nada, não tenho conhecimento para mais.
Nos script que comprei por exemplo teria de ser assim:
index.php?page=categories&cat_id=1
o htaccess deveria ser:
RewriteRule ^page/([^/]*)/([^/]*)\.html$ /nBlog/index.php?page=$1&cat_id=$2 [L]
Resultado nenhum, desisti. 😕
Assim que ficar resolvido partilho o código convosco .
pesquisem sobre MVC e depois vejam estes tutorials até ao fim! :
digam adeus aos ? & etc...
e o melhor de tudo? é que vocês compreendem o que está lá e podem elaborar coisas fantásticas, GG
Edited December 17, 2015 by xintect
Olá, msantos.
Se calhar já vou um pouco tarde mas ainda assim: conheces http://www.slimframework.com/ ?
Construo todos os meus projectos php "em cima" desta framework. Muito leve e fácil de usar.
Esta slim framework faz de forma transparente aquilo que precisas, e só precisas de por isto no .htaccess