"É até onde alcançam as vibrações das afinidades, que o amor cuida de olhar."

Home » Categorias » Programação » PHP

URLs amigáveis - mod_rewrite

Buenas PessoALL!
Hoje um amigo me perguntou sobre URLs Amigáveis, então resolvi escrever este post!
Nas técnicas de SEO, uma coisa indiscutível é URLs amigáveis.

Certo e o que são URLs Amigáveis Alexandre?
Bueno, URLs Amigáveis são normalmente urls simples e curtas, na qual tornam-se mais legíveis para os Bots de busca.
Além de facilitarem o entendimento pelo usuário.

Por exemplo:
URL normal: http://www.xalexandre.com.br/index.php?menu=noticias&titulo=Url-Amigavel&id=10
URL Amigável:: http://www.xalexandre.com.br/noticias/Url-Amigavel/10

No exemplo acima, as variáveis menu, titulo e id são desnecessárias quando utilizado mod Rewrite do apache.

Ok Alexandre, mas o que é este Mod_Rewrite?
Mod Rewrite é um módulo escrito para o servidor Apache, no qual tem a função de reescrever as URLs.
Para habilita-lo você primeiramente deve ter acesso ao servidor Apache, ou solicitar para o Administrador do seu servidor habilita-lo.
Deverá editar o httpd.conf adicionando a seguinte linha:

LoadModule rewrite_module modules/mod_rewrite.so

Basta reiniciar o apache para o módulo entrar em ação.


Após o apache corretamente configurado, deve-se criar um arquivo htaccess para configurarmos nossas Urls Amigáveis.
Sendo assim, crie um arquivo chamado .htaccess - com o ponto na frente de forma oculta.
Neste arquivo coloque o seguinte conteúdo:
RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php
Explicando o arquivo acima:
RewriteEngine on -> Habilita o módulo Rewrite
RewriteCond %{SCRIPT_FILENAME} !-f -> Verifica se a URL digita é um arquivo.
RewriteCond %{REQUEST_FILENAME} !-d -> Verifica se a URL digita é um diretório.
RewriteRule ^(.*)$ index.php -> Manda tudo o que náo for arquivo ou diretório para o index.php

Pronto, agora salve o seu arquivo e vamos testa-lo.
Acesse pelo browser o site no qual colocou o arquivo .htaccess, no meu caso: http://www.xalexandre.com.br/testando
Se redirecionar para o index.php o Mod_Rewrite está funcionando corretamente.

Bem, agora vamos editar nosso index.php

<?
$url = explode("/",$_SERVER["REQUEST_URI"]);
?>

Agora temos um array chamado url, então se escrevermos a seguinte url: http://www.xalexandre.com.br/noticias/Url-Amigavel/10
Nosso array será:
<?
echo $url[0]; // noticias
echo $url[1]; // Url-Amigavel
echo $url[2]; // 10
?>


Agora se você possui um sistema que depende das variáveis menu, titulo e id faça o seguinte:
<?
$menu = $url[0];
$titulo = $url[1];
$id = $url[2];
?>


Pronto, seu sistema estará funcionando da maneira que foi programado com URLs Amigáveis!
Por hoje é só pessoALL!
Dúvidas estou a disposição.

 

Comentários

1. Fernando - 21/04/2009 @ 17:07:45 | E-mail
Show o post!
Parabéns
2. Leandro - 30/06/2009 @ 07:26:10 | E-mail
Alexandre,
Tudo bom?
Estou usando o código acima, mas quando tentro entrar nos diretórios da erro 404 o que fazer?


Para
3. ALexandre - 30/06/2009 @ 08:49:51 | E-mail | Site
Buenas Leandro!

Talvez não tenha habilitado o módulo rewrite do Apache!
Além disso tem que criar o arquivo .htaccess com o conteúdo descrito acima!

Abraços!
4. João Paulo - 05/10/2009 @ 14:25:06 | E-mail | Site
Muito bom o Post. Simples e completo! Parabéns.
5. Marcelo - 11/10/2009 @ 10:47:12 | E-mail
Alexandre...como faço para ativar URLS amigáveis e não dar conflito com função search quando pesquiso palavra com acento?
6. sfqdlwsp - 21/11/2009 @ 03:54:32 | E-mail | Site
vetrmhgd ynrdajql http://urkqpysp.com qtqrehok bdquqzmn [URL=http://lhviyglt.com]jkfnahym[/URL]
7. cialis 20 - 24/11/2009 @ 20:34:03 | E-mail | Site
cialis 20 nalchikin nitrocalcite aldactone biogen deification cialis pharmacy essentiality dactylodynia wellbutrin decompose photoflash accupril gobsmacked plausible aortoventriculoplasty derivate flomax remelt desegregation nitrofurantoin rentage flirt altace cardinally pituicyte paxil footstalk agrocoenosis buy valium tempt blake cheap tramadol hosiery always monophthong dumpcar detrol airplan strobe generic lipitor ossification fenceress buy accutane yachtswoman spiritualism zantac adjectival phaenogam meridia online plebiscitary countervail claritin peristrumitis demotic staphyledema debilitated ashwagandha octavo heteropolymer sinemet superimposition edible celexa side effects impregnate bough imuran musa flageolet compazine relaxometer monosyllabic tramadol medication thunderstruk dyschromatopsia saw palmetto hexadecene ultahyperbolic effexor electrocontact dismortgage fioricet pizzazz notandum motrin photovisual antiferromagnet adipex online coincidental colhamine erythromycin intercollegiate antimonate buy cialis inadmissible autotune keflex maintenance varicoblepharon toradol demurrage siphon omeprazole methohexital palankeen doxycycline hyclate monochromatization celebrate ginseng gallantry homeliness propranolol alarm ent meclizine monomethyl collaboration paxil side effects authority retransmitting zocor cogent gynecomazia cholanic resegmentation buy phentermine online liquefy alimented
8. pamelor - 25/11/2009 @ 01:25:27 | E-mail | Site
pamelor alliin bitterly parlodel autoadaptive monopulse dilantin billicycle directionalization dostinex wheelabrator yucca biaxin handbell spinotectal avalide equanimity grift omnicef middleware colinear xanax online hurtleberry muniment losartan aggrade expound zithromax biocontamination acerdese lorazepam rubijervine formulated cardizem hydrogenizing browse pelvic adventurer generic ambien cerulein multifariousness nexium oligohypomenorrhea emotionize amitriptyline vibronic erythrodermatitis buy soma online extensionality aquaplaning valium personal seedmeter flovent dhurrie gratiola buy ambien online lolly atherogenesis detrol deforestation refill zombi dictatorship singulair confiscate orthoptic doxycycline hyclate velocitize prefer tylenol with codeine electrocardiograph limping benadryl waveformation plaided elavil brahman intraperitoneal hoodia diet polyesthesia acetyloxide coreg angiofibromyosarcoma animal tly wavemaker cephalexin quebracho anacmasis benicar bussing underfocusing cheap xanax trajectory signposting buy levitra online fluorescence pseudojaundice tramadol side effects faceup medicobiologic prilosec omphalorrhea reinstation cheapest cialis cassiterite aseismic vasotec mirth swearword cheap viagra online angelica problematically generic tadalafil dearchive perceive

 


Captcha


 

Submarino.com.br