"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Apache Rewrite/Redirect

wutzdutz 18.03.2010 - 11:40 1286 2
Posts

wutzdutz

owned by 50''
Avatar
Registered: May 2001
Location: Baden bei Wien
Posts: 1632
Hi,

habe folgendes Problem: neue HP geht bald on und wir wollen die alten links auf die equivalenten neuen Seiten redirecten. Die neue HP ist mit Joomla realisiert.

z.B.

/index.php?module=ContentExpress&file=index&func=display&ceid=205&meid=165

soll auf

/index.php/lang-de/ueberblick

redirected werden.

Jetzt habe ich das mit Redirect und RewriteRule probiert und bin mit beiden gescheitert.

Die Rule:
RewriteRule ^.*ceid=205&meid=165$ index.php/lang-de/ueberblick [R=permanent,L]

funktioniert wenn man z.B. meine.domain.com/testxyz/ceid=205&meid=165 eingibt problemlos, aber bei meine.domain.com/index.php?module=ContentExpress&file=index&func=display&ceid=205&meid=165 gehts nicht -> da wird die Startseite geöffnet. Generell, wenn man meine.domain.com/index.php?irgendwas eingibt, wird die Startseite geöffnet, Joomla Feature?

kann mir da wer weiterhelfen?

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25375
Etwas spät, ich weiß. ;)

Schau mal, ob es eine .htaccess im Directory Root gibt, die den Redirect für Joomla macht. Nachdem es ja funktioniert, muss irgendetwas die virtuellen Verzeichnisse mappen und da bin ich mir ziemlich sicher, dass das ein Rewrite-Code macht.

Bezüglich deinem gesuchten Rewrite: Poste mal was du schon hast, dann können wir dir sicher weiterhelfen. Prinzipiell musst du den Query-String matchen und dann gilt:

Zitat
Note: Query String

The Pattern will not be matched against the query string. Instead, you must use a RewriteCond with the %{QUERY_STRING} variable. You can, however, create URLs in the substitution string, containing a query string part. Simply use a question mark inside the substitution string, to indicate that the following text should be re-injected into the query string. When you want to erase an existing query string, end the substitution string with just a question mark. To combine a new query string with an old one, use the [QSA] flag.

wutzdutz

owned by 50''
Avatar
Registered: May 2001
Location: Baden bei Wien
Posts: 1632
habs jetzt (also vor gut einer Woche) anders gelöst: ich check im index.php vom joomla, welche ULR aufgerufen wurde und mach das redirect via Joomla -> funktioniert :)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz