Tengo esta configuración de host virtual como la primera de una lista de hosts virtuales. Está
<VirtualHost localhost:80>
ServerName localhost
DocumentRoot "/www/drupal5"
<Location /server-status>
SetHandler server-status
Order Deny,Allow
Allow from localhost
</Location>
</VirtualHost>
El resto de los hosts virtuales están a continuación y se expresan como *: 80.
Cuando http://localhost/server-status
incluyo DocumentRoot en este host virtual, las solicitudes en el servidor siempre presionan /index.php a través de las reglas de reescritura en /www/drupal5/.htaccess. Si elimino la declaración de DocumentRoot, las solicitudes / server-status funcionan bien, pero el sitio no está disponible en absoluto http://localhost/
.
¿Cómo puedo llegar http://localhost/server-status
al trabajo y al sitio para cargar http://localhost/
?
/www/drupal5/.htaccess
? Con suerte, es posible modificar las reglas de reescritura para que las solicitudes de / server-status no se reescriban.Respuestas:
Encontré la solución cuando busqué en Google 'server-status mod_rewrite'. Casualmente se respondió en un foro de drupal: http://drupal.org/node/52511
Agregar
RewriteCond %{REQUEST_URI} !=/server-status
a la regla de reescritura para redirigir todo el tráfico a /index.php lo arregló.Muy confuso que mod_rewrite puede reescribir una uri que ya ha configurado un controlador.
fuente
Si está utilizando Apache 2.3 o superior, también debería poder usar el
END
indicador en su entrada VirtualHost, para evitar tener que modificar los archivos .htaccess.Debe evitar que las reglas posteriores reescriban cosas.
fuente
Simplemente agregue una entrada de vhost en blanco en la parte superior del archivo de configuración de vhost, por ejemplo
fuente