Die Aufgabe besteht darin, Drupal's .htaccess in PHP für Ihre router.php
Datei zu kodieren.
Hier ist ein Anfang:
<?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");
}
Dies sollte alpha Qualität betrachtet werden. Es ist ein 3-minütiger Spaziergang durch die .htaccess-Datei von Drupal 7.14, die alles überspringt, was mehr als 10 Sekunden gedanklich benötigt. :)
Es erlaubt mir jedoch, Drupal's Installationsskript zu starten, wobei Stylesheets, JS und Bilder wie erwartet geladen werden, und Drupal-Seiten mit sauberen URLs zu treffen. Beachten Sie, dass zu Drupal in dieser Umgebung installieren, brauchte ich a patch, die nicht Teil von Drupal werden kann 7.
+1 für eine interessante Frage. Aber da dies eine Entwicklungskopie der Website ist, benötigen Sie wirklich saubere URLs? (Ich gehe davon aus, dass es sich um eine Entwicklungskopie der Site handelt. Sie sollten den integrierten PHP-Server nicht für ein Live-System verwenden! - siehe http://php.net/manual/en/features.commandline .webserver.php) – SDC
Ja, nur für dev. Ich implementiere mit Nginx und PHP-FPM. Ich mache auch hin und wieder eine WordPress-Seite und es würde das gleiche Problem haben. –
Was ist los mit der Einrichtung von nginx und php-fpm auf deiner Dev-Seite? Es sollte ungefähr fünf Minuten dauern. –