Page 1 of 1
Wordpress Feed-URL über mod_rewrite auf s9y umlenken
Posted: Tue Dec 05, 2006 11:01 am
by 05282
Hallo,
ich habe über die Forensuche leider nur einen alten thread ohne Lösung gefunden und Google hat mir zwar viel über mod_rewrite beigebracht, aber leider nichts was funktioniert hätte.
Von daher meine Frage an euch.. Ich habe von Wordpress zu Serendipity gewechselt und hätte nun gern, dass meine User die Feeds nicht aktualisieren müssen.
Die Feed-URL die bei Wordpress aufgerufen wurde sah so aus:
http://domain.tld/?feed=rss2
Meine Versuche diesen Aufruf über mod_rewrite umzulenken scheiterten leider alle kläglich. Es erscheint immer dir Startseite.
Mein vielversprechendster Ansatz war:
Code: Select all
RewriteRule ^\?feed=rss(.*) rss.php?version=2.0 [L,QSA]
Naja, leider passiert dabei mal gar nichts.
Hat jemand einen Tipp?
Gruss, Niklas
Re: Wordpress Feed-URL über mod_rewrite auf s9y umlenken
Posted: Tue Dec 05, 2006 12:37 pm
by garvinhicking
Hi!
Das wird leider ein Problem. Die Ursache ist, dass deine alte URL keine "pretty URL" war die man weiterleiten kann/konnte, sondern eine die per index.php funktioniert.
mod_rewrite ist schwierig zu bedienen wenn man etwas abhängig von GET-Variablen verändern will. Das geht irgendwie, aber das weiß ich selber nicht.
Wenn Du eine URL wie "domain.tld/?blabla" aufrufst wertet Apache erstmal intern die DirectoryIndex direktive aus und macht dann aus deiner URL "domain.tld/index.php?blabla". Evtl. klappt es also wenn deine rewrite-rule so aussieht:
Code: Select all
RewriteRule ^index\.php\?feed=rss(.*) rss.php?version=2.0 [L]
Die andere Möglichkeit ist, dass Du einfach ausnutzt dass der WP-Feed auf deine neue s9y index.php läuft. Entweder Du schreibst ein Plugin was die "feed=rss" Variable auswertet, oder Du packst so etwas direkt und dirty in deine index.php:
Code: Select all
if ($_REQUEST['feed'] == 'rss2') {
header('Location: http://domain.tld/rss.php?version=2.0');
}
HTH,
Garvin
Posted: Tue Dec 05, 2006 12:50 pm
by 05282
So hat es funktioniert:
Code: Select all
$wp_feed = strip_tags($_REQUEST['feed']);
if ($wp_feed == 'rss2') {
header('Location: http://domain.tld/rss.php?version=2.0');
exit():
}
Das exit(); musste mit rein.
Tausend Dank!
Posted: Tue Dec 05, 2006 12:55 pm
by garvinhicking
Hi!
Ah, ich Dummy, natürlich. Exit braucht man auch noch.
Die mod_rewrite-Idee hat nicht gezündet?
Tausend Dank übrigens für deine Paypal-Spende. Das wäre doch nicht nötig gewesen - aber da freut sich der Nikolaus
Viele Grüße,
Garvin
Posted: Tue Dec 05, 2006 1:07 pm
by 05282
garvinhicking wrote:Die mod_rewrite-Idee hat nicht gezündet?
Leider nein, hab gelesen man kommt nur über eine RewriteCondition an GET-Variablen, nicht über eine Rule. Da ich nur alle Jubeljahre mal mod_rewrite verbaue kam ich da nicht so wirklich weiter.
garvinhicking wrote:Tausend Dank übrigens für deine Paypal-Spende. Das wäre doch nicht nötig gewesen - aber da freut sich der Nikolaus

Gern.

Du hast mir schon ein paar Mal weitergeholfen und ich habe s9y bei mittlerweile vier Leuten laufen. Da war das das mindeste.
Wenn ich doch noch auf eine über mod_rewrite funktionierende Lösung stosse poste ich sie hier. Habe nur momentan keine Zeit mich damit intensiver zu befassen, die Arbeit frisst mich. *g*
Grüsse!