2010-06-28 15 views

Respuesta

59

No, mod_rewrite es un módulo de Apache y no tiene nada que ver con PHP.

Para activar el módulo, la siguiente línea en httpd.conf tiene que estar activo:

LoadModule rewrite_module modules/mod_rewrite.so 

para ver si ya está activa, trate de poner un archivo .htaccess en un directorio web que contiene la línea

RewriteEngine on 

si esto funciona sin generar un error interno del servidor 500, y el archivo .htaccess se analiza, la reescritura de URL funciona.

+0

Gracias ... ¿cómo puedo saber si el archivo .htaccess está siendo analizado? – John

+2

@John por lo general no puede activar mod_rewrite usted mismo en alojamiento compartido: depende de la empresa de alojamiento para hacerlo. Prueba 'RewriteEngine' para ver si ya está activo; si no lo está, vas a tener que hablar con ellos. –

+0

@John vuelve a tu comentario actualizado: escribe algo como 'asdfasdf' en el archivo. Eso debería generar un '500 error de servidor interno'. –

0

No, no debería necesitar. mod_rewrite es un módulo de Apache. No tiene nada que ver con php.ini.

0

rewrite_module módulo está incorporado en el servidor de la mayoría de los casos

Uso .htaccess

Uso del generador de reescritura de la MOD en http://www.generateit.net/mod-rewrite/

+0

Pero no siempre activado ... – Styxxy

+1

Esta respuesta no aclara. Si OP pregunta cómo habilitar algo, se espera que suponga que está deshabilitado. –

0

soluciones de red ofrece el asesoramiento para poner un php.ini cgi-bin para permitir mod_rewrite

+0

He oído esto también, pero creo que es falso. Recomiendo simplemente verificar la sintaxis de su archivo .htaccess para descartar cualquier error. Prácticamente cualquier servidor, incluido Netsol, que ejecuta Apache tiene mod_rewrite habilitado de forma predeterminada. – goddogsrunning

53

Sólo un FYI para las personas que permiten mod_rewrite en Debian con Apache 2:

Para comprobar si mod_rewrite está habilitado:

Buscar en mods_enabled de un enlace con el módulo ejecutando

ls /etc/apache2/mods-enabled | grep rewrite 

Si esto da salida a rewrite.load entonces el módulo está activado. (Nota: el camino hacia la apache2 no puede ser/etc /, aunque es probable que sea.)

Para habilitar mod_rewrite si no está ya:

activar el módulo (esencialmente crea el enlace que buscábamos para arriba):

a2enmod rewrite 

Actualizar todos los archivos de configuración de Apache:

service apache2 restart 
+2

Exactamente lo que necesitaba al solucionar problemas de un enlace permanente de WordPress. Gracias por los comandos específicos de SSH que necesitaba. –

+0

¡Simplemente la respuesta perfecta! – captainblack

8

En mi caso, la emisión se produjo incluso después de todo estas configuraciones lo han hecho (@Pekka ha mencionado los cambios en los archivos httpd.conf & .htaccess).Se resolvió sólo después agrego

<Directory "project/path"> 
    Order allow,deny 
    Allow from all 
    AllowOverride All 
</Directory> 

a la configuración de la máquina virtual en el archivo de host virtual

Editar en 29/09/2017 Refer this answer

<VirtualHost dropbox.local:80> 
DocumentRoot "E:/Documenten/Dropbox/Dropbox/dummy-htdocs" 
ServerName dropbox.local 
ErrorLog "logs/dropbox.local-error.log" 
CustomLog "logs/dropbox.local-access.log" combined 
<Directory "E:/Documenten/Dropbox/Dropbox/dummy-htdocs"> 
    # AllowOverride All  # Deprecated 
    # Order Allow,Deny  # Deprecated 
    # Allow from all   # Deprecated 

    # --New way of doing it 
    Require all granted  
</Directory> 

+3

gracias que lo arregló para mí :) –

-3

Para utilizar mod_rewrite Puede escribir el siguiente comando en la terminal:

$ su 

$ passwd ********** 

# a2enmod rewrite 

Reiniciar apache2 después

# service apache2 restart 

# /etc/init.d/apache2 restart 

o

# service apache2 restart 
0

si se relaciona con el sitio de alojamiento a continuación, pedir a su alojamiento o si desea activar en la máquina local a continuación, comprobar este paso youtube por paso tutorial relacionado con la habilitación del módulo de reescritura en wamp apache https://youtu.be/xIspOX9FuVU?t=1m43s
Icono del servidor de Wamp -> Apache -> Apache Módulos y verificación de la opción del módulo de reescritura se debe comprobar pero después de eso wamp requerir reinicio todos los servicios

Cuestiones relacionadas