Bom esse é meu primeiro tutorial aqui no Forum Yii , sou novo no Yii Framework então há coisas que eu aprendo que percebo que outras pessoas também tem dúvida então estarei repassando o que aprendo de uma forma mais simples e fácil de entender, ja tenho uma experiencia com postagens pois tenho um blog bem visitado (mais não vem ao caso)…
Obs.:
Nesse tutorial estou gerando um applicativo yii do 0 para que não haja falhas de compatibilidade e estou fazendo tudo que está escrito aqui nesse aplicativo então pode ficar susegado que vai dar tudo certo
Qualquer dúvida comente
Vamos ao que interessa!
A URL do Yii por padrão é assim:
Home (página inicial):
http://localhost/meusite/index.php?r=site/index
About (Sobre):
http://localhost/meusite/index.php?r=site/page&view=about
Contact (Contato):
http://localhost/meusite/index.php?r=site/contact
Login:
http://localhost/meusite/index.php?r=site/login
Então faremos que esse URL fique assim
Home (página inicial):
http://localhost/meusite/
About (Sobre):
http://localhost/meusite/page?view=about
Contact (Contato):
http://localhost/meusite/contact
Login:
http://localhost/meusite/login
Bem Melhor não acha?
Então vamos começar a por a mão na massa
Vai na config main.php (/meusite/protected/config/main.php)
Procure por urlManager se não houver edição está na linha 41.
2126
perceba que está escrito
"Descomente as seguinte as linhas para ativar o formato de caminho das URLs"
Então faremos isso descomente então (tirando o "/" e o "/" como mostra a imagem a seguir:
2127
Salve, e vá ate seu site e perceba que o formato das URL mudou.
Ficou bem melhor mais ainda não basta vamos tirar esse index.php.
vá ate o diretório raiz do seu site (no meu caso chama meusite) e crie um arquivo chamado .htaccess caso não exista é claro
E dentro dele coloque o seguinte conteudo e salve!
RewriteEngine on
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
Perceba que mesmo tirando o index.php seu site funcionará perfeitamente.
2128
Agora por ultimo iremos deixar o url ainda melhor
Nosso URL está nesse formato agora certo?
http://localhost/meusite/site/contact
Vamos tirar esse /site/
Vá até o arquivo main que abrimos no primeiro passo e faça o seguinte:
Na array rules em urlManager adicione a seguinte linha:
'<action:(login|logout|page|contact)>' => 'site/<action>',
Ficando assim:
2129
É isso ai agora é so mudar os links na view/layout/main.php com o novo padrão de URL.
Espero que tenha ficado bem claro , Por favor comente com suas criticas positivas ou negativas sobre o tutorial.