Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Wanderson Regis Silva

[Resolvido] Apache mod_rewrite

Recommended Posts

Eu nunca precisei de usar o mod_rewrite do apache antes, mas hoje eu tenteu mudar a configuração de permalinks no wordpress (tentei no linux e depois no windows), mas não tive sucesso. O wordpress criou um arquivo .htaccess na pasta raiz do servidor (/var/www/html/ - linux -, C:\Apache\htdocs\ - windows) com o seguinte texto:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
Mas não funciona, eu configurei a estrutura como /noticia/%post_id%/%postname%/, e tentei seguir o link na página inicial, consegui uma mensagem de erro 404.

 

Eu nunca entei usar este recurso do apache antes, e agora eu tô tomando uma surra. Alguém se habilita?

Compartilhar este post


Link para o post
Compartilhar em outros sites

1. verifique se o módulo está ativado no Apache

 

Windows:

LoadModule rewrite_module modules/mod_rewrite.so

Linux:

Dependendo da distribuição não é necessário acidionar a linha. Certifique-se de que o Apache está compilado com o módulo.

 

No CentOS, por exemplo, o Apache já vem com o mod_rewrite

 

 

2. character encoding

Verifique se o arquivo .htaccess possui encoding adequado.

O Formato UTF-8 adiciona caracteres ocultos no início do arquivo. Caso necessite utilizar UTF-8, converta-o para ANSI-UTF8 (UTF8 Without BOOM). O recomendado é manter no formato ANSI.

 

 

3. AllowOverride

No httpd.conf do Apache, altere AllowOverride de "none" para "All"

 

<Directory "C:\_w\foo.bar\public_folder">
    allow from all
    AllowOverride All
    DirectoryIndex index.php index.html
    </Directory>

 

4. Options FollowSymLinks

Caso os passos anteriores estejam todos corretos, experimente adicionar "Options FollowSymLinks" no arquivo .htaccess

 

exemplo:

 

RewriteEngine on

Options FollowSymLinks

RewriteBase /

RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d

RewriteRule (.+) /
format sample: http://foo.bar/ID/Name-SEO

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu certinho!

<Directory "/var/www/html">
    Options Indexes FollowSymLinks

#     AllowOverride None
    AllowOverride All

    Order allow,deny
    Allow from all

</Directory>
O que está comentado é como estava, e logo abaixo como eu coloquei e funcionou (no linux, ainda não tentei no windows), valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.