2010-09-22 35 views
8

Estoy intentando realizar alguna reescritura de URL, y después de mirar el archivo phpinfo, no puedo ver ninguna mención de esto .. Mi host es FastHosts.phpinfo() mod_rewrite

¿Debería estar buscando algo más en el phpinfo() o debería suponer que mod_rewrite es simplemente disabled?

+0

¿Por qué no intentas usar 'mod_rewrite' y ves qué pasa? – Zarel

+0

mod_rewrite es una extensión de Apache, no de PHP. No creo que aparezca en tu salida phpinfo. Si no puede ver la configuración real del servidor, le recomiendo que cree un archivo .htaccess en algún directorio e intente configurar mod_rewrite allí, para ver si funciona. – mkoistinen

+0

Eso es lo que hice, y nada funcionaba, así que quería estar 100% seguro de que estaba deshabilitado (y no de mi código no deseado). Ahora sé que está deshabilitado, ¿hay alguna forma de habilitarlo? – shane

Respuesta

10

mod_rewrite es un módulo de apache, no un módulo de PHP. No es visible en phpinfo(). Cree un .htaccess en alguna subcarpeta y asegúrese de que contenga:

RewriteEngine on 

Coloque su navegador en la carpeta. Si obtiene un error de servidor, no está instalado. De lo contrario, lo es.

+0

Descubrí que está instalado :) ¿Los cambios que realice en .htaccess (reglas de reescritura de URL) surtirán efecto de inmediato o necesitaría un reinicio desde el host de la web? – shane

+1

Creo que surten efecto sin reiniciar Apache, sí. –

+1

@EmilH sí, debería. Los cambios de htaccess toman efecto instantáneamente – chrisjlee

8

Cuando PHP se utiliza como un módulo de Apache apache_get_modules() se puede utilizar para comprobar esto

<?php 
print_r(apache_get_modules()); 
?> 

que entonces da un resultado como este:

Array 
(
    [0] => core 
    [1] => http_core 
    [2] => mod_so 
    [3] => sapi_apache2 
    [4] => mod_mime 
    [5] => mod_rewrite 
) 

apache_get_modules() hace no funciona si está usando PHP como CGI

0

Yo había seguido a todos l los procedimientos para habilitar la reescritura mod. Pero simplemente no pareció funcionar.

Incluso había agregado la pieza de código floowing correctamente al archivo .conf pero fue en vano.

<Directory “/var/www/html”> 
AllowOverride All 
</Directory> 

Pero entonces noté, ¡Esas comas invertidas no se ven normales! Bam !! Reemplazó esos peskies con los correctos y Wah-Lah !!!