2011-01-13 9 views
1

Ich entwickle derzeit eine drupal basierte Website, muss aber ein Legacy-System und viele statische Seiten/Ordner am Leben erhalten. Es wäre großartig, wenn ich die alten Trümmer in einem separaten Ordner als die neue Website behalten könnte. Dies würde bedeuten, dass ich beide Ordner im laufenden Betrieb zusammenführen muss. Ich dachte, dass diese Ordnerstruktur großartig wäre.zwei Ordner mit mod-rewrite in .htaccess verschmelzen

/htdocs/legacy (symlink to old web root) 
/htdocs/index.php 
/htdocs/.htaccess 
/htdocs/other drupal files and folders 
/htdocs/... 

Dies würde bedeuten, dass, wenn das heißt mydomain.com/xyz.php der Server versucht zugegriffen wird, soll es in der folgenden Reihenfolge zu dienen.

  1. wenn eine Datei oder einen Ordner in/htdocs/Server diese
  2. wenn eine Datei oder einen Ordner in/legacy/dienen diese aber neu schreiben nicht die Browser Adressleiste.
  3. sonst Rewrite es als Abfragezeichen zum

gehe ich mit den folgenden Regeln für das Umschreiben kam. Was aber nicht funktioniert. Ich kann entweder Dateien in Legacy oder über Drupal liefern.

# 1. server from .htaccess folder 

RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^(.*)$ - [NC,L] 

# 2. serve from legacy 

RewriteCond /full-path-to-legacy-folder/%{REQUEST_URI} -f [OR] 
RewriteCond /full-path-to-legacy-folder/%{REQUEST_URI} -d 
RewriteRule ^(.*)$ /legacy/$1 [NC,L] 

# 3. else 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !=/favicon.ico 
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 

Hat jemand von Ihnen Vorschläge?

Vielen Dank!

+1

Sieht gut aus - was genau funktioniert nicht? –

Antwort

0

Da Sie einfach die URL-Rewriting, und es gibt andere Operationen, die (wie mod_php) mit der Datei durchgeführt werden müssen, versuchen Sie, [L] Optionen [PT] Ändern regelmäßige Verarbeitung zu ermöglichen, sich auf Antrag fortzusetzen.