mod_rewrite Frage
DJ_Cyberdance 24.08.2007 - 23:31 802 3
DJ_Cyberdance
Here to stay
|
Hallo! Folgendes Problem: domain.com soll eigentlich auf domain.com/foo/bar zeigen. das habe ich folgendermaßen gelöst: RewriteCond %{HTTP_HOST} http://www.domain.com$ [NC] RewriteCond %{REQUEST_URI} !domain.com/foo/bar/ RewriteRule ^(.*)$ domain.com/foo/bar/$1 [L] Das funktioniert auch soweit. Gleichzeitig möcht ich aber, daß domain.com/directory auf domain.com/foo/abc/xyz zeigen soll - und dafür kriege ich kein rewrite-rule hin, weiß jemand wie das geht? Probiert hab ich das hier und unzählige andere Varianten: RewriteCond %{HTTP_HOST} http://www.domain.com$ [NC] RewriteCond %{REQUEST_URI} (.*)domain.com/directory/ RewriteRule ^(.*)$ domain.com/foo/abc/xyz//$1 [L] Funktioniert nur leider nicht. Bin für alle Vorschläge dankbar!
|
berndy2001
|
hast du keine möglichkeit das in der config deines httpd einzustellen? wäre wesentlich einfacher.
|
DJ_Cyberdance
Here to stay
|
Bedauerlicherweise nein, is ein Webhost auf einem Inode-Server. Und ich finds ziemlich schwach, daß die kein entsprechendes Tool zur Domainverwaltung haben. Aber das ist eine andere Sache.
|
mat
AdministratorLegends never die
|
RewriteCond %{REQUEST_FILENAME} /foo/bar* [NC,OR]
RewriteCond %{REQUEST_FILENAME} /foo/abc/xyz* [NC]
RewriteRule .* - [L]
RewriteCond %{REQUEST_FILENAME} /directory* [NC,OR]
RewriteRule ^\/directory(.*) /foo/abc/xyz$1 [L]
RewriteRule ^\/(.*) /foo/bar/$1 [L]
Ein paar kleine Tips: => Debug Modus einschalten RewriteLog "/pfad/zu/rewrite.log"
RewriteLogLevel 5
=> Immer domainnamen-unabhägig schreiben, falls es nicht anders gefordert ist. Sonst ist der Rewrite-code so statisch und lässt keine Aliases zu. => Falls ein Redirect auch Google betrifft und sich zB die physische Position der Seite geändert hat, dann sollte ein 301 Redirect stattfinden, weil ansonsten für Google der Inhalt doppelt vorhanden ist und daher schlechter gerated wird. Einfach bei den Redirects statt [L] folgendes schreiben: [R=301,L] (bei "RewriteRule .* - [L]" natürlich nicht, das ist eine Abbruchbedingung!)
|