mod_rewrite ativado, mas Permalinks mostra index.php

4

Acabei de instalar um blog de amigos na minha pilha LAMP, que tem o mod_rewrite ativado (estou usando para URLs limpas nas minhas instalações do Drupal no mesmo servidor). Por alguma razão, o WordPress (3.0.3) não está reconhecendo que o mod_rewrite está habilitado. No menu Permalinks está exibindo opções para permalinks PATHINFO (com index.php precedendo a string url).

Minha correção agora era apenas usar o campo Estrutura Personalizada e inserir o que eu queria menos na parte index.php O WordPress parece querer inserir, o que funciona, mas eu gostaria de obter uma correção real para isso.

Esta é uma anomalia 3.0.3? Eu não tive muito tempo para investigar a configuração do meu servidor, mas qualquer orientação seria muito apreciada.

    
por bhamrick 13.12.2010 / 23:48

2 respostas

4
  

A saída de $ _SERVER ['SERVER_SOFTWARE'] é WebServerX

Parece o seu problema - confira esta linha em wp-includes/vars.php :

/**
 * Whether the server software is Apache or something else
 * @global bool $is_apache
 */
$is_apache = (strpos($_SERVER['SERVER_SOFTWARE'], 'Apache') !== false || strpos($_SERVER['SERVER_SOFTWARE'], 'LiteSpeed') !== false);

Acho que você precisará substituir essa variável manualmente, seja em um plug-in ou no functions.php :

do seu tema
global $is_apache;
$is_apache = true;
Adereços para @John P Bloch:

  

A única vez que ele adicionará automaticamente 'index.php' a um permalink é se $ is_apache retornar falso.

    
por TheDeadMedic 14.12.2010 / 02:57
2

Como alternativa, você pode adicionar a seguinte linha de código ao seu arquivo functions.php:

add_filter( 'got_rewrite', '__return_true', 999 );

Estamos fazendo isso para que o WordPress funcione bem com o nginx.

    
por heintore 07.05.2012 / 12:51