Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera,
Estou tendo problemas com reescrita de url em servidores de hospedagem diferentes, no meu servidor local e na Locaweb a regra funciona, porém na Uol Host onde preciso hospedar o site não funciona, teria outra forma de escrever esta regra?
RewriteRule ^editorial\/?([a-z-]*)\/?$ editorial.php?mes=$1
A única coisa que não utilizo mesmo é o RewriteBase o restante está conforme o seu.
Até tentei colocar o RewriteBase mas não funcionou também, não consigo tratar parâmetros.
Não é certo você ter de se sujeitar à um "jeitinho" por causa de uma particularidade do servidor.
Se só funcionasse localmente, tudo bem, seu ambiente de trabalho poderia estar mal-configurado e mesmo que existam algumas "situações" com respeito a LocaWeb, ainda assim são dois ambientes distintos no qual a ER funciona.
Enfim....
No UolHost o prgrama reporta algum erro? Você já testou essa ER fora da aplicação que vai utilizaá-la para descartar qualquer falso-positivo?
Acredito que o mod_rewrite no php.ini não esteja ativo, verifiquei com o phpinfo() e nada consta, então para ter certeza iniciei um chamado com o suporte deles, mas mesmo assim acho estranho porque o antigo site tem algumas regras, porém diferentes, por exemplo:
^images/(.*) _images.php/$1
O modo rewrite é ativado no httpd.conf (apache) e não no php.ini.
No phpinfo, na categoria Configuration -> apache2handler, deve existir, em Loaded Modules, o "mod_rewrite". Se não existir, o rewrite não está ativo no apache.
Resolvido, adicionei as duas linhas abaixo e funcionou!
Options +FollowSymLinks
Options -MultiViews
Eu tive o mesmo problema, eu utilizava o código abaixo na Hostnet.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php?Arq=$1
</IfModule>
No entanto quando migrei os serviços para o Uolhost tive que fazer uma adaptação. Além disso tive que mudar a estrutura dos arquivos para que todas as funções funcionassem corretamente.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /app/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /app/404.php
</IfModule>
Sugiro você entrar em contato com o suporte do Uolhost. Eles tem algumas documentações que podem ajudar você.