Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal,
Sou iniciante em Zend e estou tendo dificuldade na publicação do mesmo. no meu localhost (win7, com o WAMP), ele funciona que é uma beleza, quando publico no servidor da intranet aqui do trampo (linux), ele funciona, porém a tela de login apenas... quando faço o login, ele até logar, mais não acha o controller... dando erro 404 Not Found...
Alguém poderia me ajudar por favor?
obrigado desde ja!
Seguinte, minha estrutura se encontra assim:
gc
|-- application
| |-- Bootstrap.php
| |-- configs
| | `-- application.ini
| |-- controllers
| | |-- ErrorController.php
| | `-- IndexController.php
| |-- models
| `-- views
| |-- helpers
| `-- scripts
| |-- error
| | `-- error.phtml
| `-- index
| `-- index.phtml
|-- library
|-- public
| |-- .htaccess
| `-- index.php
`-- tests
....
meu HTDOCS assim:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
minha url atual:
http://intranet.doc.eb.mil.br/Zend/gc/public/
aqui ela funciona normal, quando logo ele redireciona pra cá:
http://intranet.doc.eb.mil.br/Zend/gc/public/auth/index
ai da erro de Not Found 404
o que acha amigo?
abraços!
É... Então eu aposto que o problema é que o mod_rewrite não está funcionando e a requisição não está sendo "capturada" e enviada para o arquivo index.php.
Para fazer um teste, você pode acessar o endereço assim:
intranet.doc.eb.mil.br/Zend/gc/public/index/index
Esta requisição deve chamar o Controller Index e a action Index (que são as mesmas chamadas no caso intranet.doc.eb.mil.br/Zend/gc/public/). Se entrar na página corretamente, o problema é do Controller Auth. Se não entrar (que eu acredito que não entrará) é problema com o rewrite mesmo. Outro teste que você pode fazer é acessar a página assim (apenas para testar):
intranet.doc.eb.mil.br/Zend/gc/public/index.php?/auth/index
Se funcionar assim é mais uma prova que o problema é o mod_rewrite do seu Apache.
>
meu HTDOCS assim:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
O nome do arquivo está .htaccess, certo?
Carlos Eduardo
Carlos,
intranet.doc.eb.mil.br/Zend/gc/public/index.php?/auth/index dessa forma funcionou perfeito...
então deve ser o lance do apache, vou verificar aqui como habilitar etc... se tiver algum passo ai me adiantar... vlw e obrigado viu!!!!!
Carlos,
Habilitei o mod_rewrite.so só que continua da mesma forma ainda... :(
Habilitei o mod_rewrite.so, só que continua da mesma forma!
:(
Olha, você vai precisar editar o arquivo httpd.conf e procurar a linha:
#LoadModule rewrite_module modules/mod_rewrite.so
Provavelmente ela deve estar comentada (com # na frente). Retire o #, salve o arquivo (provavelmente você terá que abrir o arquivo pelo terminal com permissões de root), reinicie o Apache e teste. Se não funcionar, talvez seja necessário modificar o AllowOverride também. Procure neste mesmo arquivo pelo seguinte:
<Directory "/algum/caminho/aqui">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Deixe com o AllowOverride All, salve o arquivo, reinicie o Apache e teste novamente. Se não funcionar, daí não sei o que fazer.
Carlos Eduardo
[RESOLVIDO]
segue abaixo os passos:
gora usar locate para encontrar se o mod_rewrite.so é availble no seu servidor
updatedb
locate mod_rewrite.so
it will found in “/usr/lib/apache2/modules” será encontrado em "/ usr/lib/apache2/modules"
new apache follow some folders to enable and desuable mods. apache novas seguir algumas pastas para ativar e mods desuable.
so now do this: agora fazer isso:
cd /etc/apache2/mods-enabled
touch rewrite.load
gedit rewrite.load (you may use any editor to edit this file)
now paste this following line Agora cole essa linha seguinte
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
Then edit /etc/apache2/sites-available/000-default Em seguida, edite / etc/apache2/sites-available/000-default
Find the following Localize o seguinte
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
and change it to e alterá-lo para
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
and finally restart Apache e, finalmente, reinicie o Apache
/etc/init.d/apache2 restart
beleza, o module foi adicionado... estou usando o linux debian, mesmo assim não funcionou, agora vou partir pro virtual host pra ver o que rola... mais obrigado pelo suporte ai amigo, me deu os caminhos da pedra!!!
Obrigado desde ja!
>
Olha, você vai precisar editar o arquivo httpd.conf e procurar a linha:
#LoadModule rewrite_module modules/mod_rewrite.so
Provavelmente ela deve estar comentada (com # na frente). Retire o #, salve o arquivo (provavelmente você terá que abrir o arquivo pelo terminal com permissões de root), reinicie o Apache e teste. Se não funcionar, talvez seja necessário modificar o AllowOverride também. Procure neste mesmo arquivo pelo seguinte:
<Directory "/algum/caminho/aqui">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Deixe com o AllowOverride All, salve o arquivo, reinicie o Apache e teste novamente. Se não funcionar, daí não sei o que fazer.
Carlos Eduardo
A aplicação está rodando em Apache? O mod_rewrite está habilitado e funcionando? Como está fazendo o redirecionamento para o arquivo index.php? Via .htaccess ou direto na configuração do servidor? Como está a estrutura de diretórios da aplicação (em qual pasta está o arquivo index.php e em qual local está a pasta application) e qual o conteúdo do arquivo index.php?
Se tiver que apostar em 1 problema, apostaria na falta de redirecionamento (mod_rewrite desabilitado).
Carlos Eduardo