La tarea consiste básicamente en codificar .htaccess de Drupal en PHP para su archivo router.php
.
Aquí es un comienzo:
<?php
if (preg_match("/\.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)/", $_SERVER["REQUEST_URI"])) {
print "Error\n"; // File type is not allowed
} else
if (preg_match("/(^|\/)\./", $_SERVER["REQUEST_URI"])) {
return false; // Serve the request as-is
} else
if (file_exists($_SERVER["DOCUMENT_ROOT"] . $_SERVER["SCRIPT_NAME"])) {
return false;
} else {
// Feed everything else to Drupal via the "q" GET variable.
$_GET["q"]=$_SERVER["REQUEST_URI"];
include("index.php");
}
Esto debe ser considerado de calidad alpha. Representa una caminata de 3 minutos a través del archivo .htaccess de Drupal 7.14, evitando cualquier cosa que requiera más de 10 segundos de reflexión. :)
Sin embargo, me permite ejecutar el script de instalación de Drupal, con hojas de estilo, JS e imágenes cargadas como se esperaba, y acceder a las páginas de Drupal usando Clean URLs. Tenga en cuenta que al instalar Drupal en este entorno, que necesitaba a patch que pueden no formar parte de Drupal 7.
+1 para una pregunta interesante. Pero como se trata de una copia de desarrollo del sitio, ¿realmente necesita URL limpias? (Supongo que es una copia de desarrollo del sitio ... ¡no debería usar el servidor incorporado de PHP para un sistema en vivo! - vea http://php.net/manual/en/features.commandline .webserver.php) – SDC
Sí, solo para dev. Implemento con Nginx y PHP-FPM. También hago un sitio de WordPress de vez en cuando y tendría el mismo problema. –
¿Qué hay de malo en configurar nginx y php-fpm en su sitio de desarrollo? Debería tomar unos cinco minutos. –