[GELÖST] Umlenkung Feed-Adresse (Kein Pretty URL)

Deutschsprachiger Support für CMS Made Simple
Post Reply
User avatar
hibr
Forum Members
Forum Members
Posts: 73
Joined: Fri Feb 08, 2008 11:22 pm

[GELÖST] Umlenkung Feed-Adresse (Kein Pretty URL)

Post by hibr »

Nach Upgrade von CMSms 1.4.1 zu 1.51 und CGFeedMaker muss nun auch die alte Feedadresse auf die neue umgelenkt werden. Ich verwende für News und Feeds (aus "historischen" Gründen) keine Pretty URLs.

Nun muss die alte Feed-Adresse (ALT):

http://www.daec-duesseldorf.de/index.ph ... eturnid=15

auf die neue (NEU):

http://www.daec-duesseldorf.de/index.ph ... eturnid=15

umgeleitet werden. Da "Redirect 301" nicht funktionieren kann, muss ich es mit mod_rewrite machen. Da es nur eine Adresse ist, dachte ich, dass es einfach so geht:

Code: Select all

RewriteEngine On
RewriteRule ^index\.php?mact=News,cntnt01,rss&cntnt01showtemplate=false&cntnt01category=Allgemein%2CWebsite%2CVeranstaltung&cntnt01number=20&cntnt01returnid=15$ index.php?mact=CGFeedMaker,cntnt01,default,0&cntnt01feed=aktuelles&cntnt01showtemplate=false&cntnt01returnid=15
Leider geht es so nicht. Ich bekomme "dummy php file" angezeigt. Ich hab mir zwar schon etliche Tutorials und Dokus zu mod_rewrite angeschaut und auch außer der obigen diverse andere Lösungen probiert, aber  mod_rewrite rules haben es in sich.

BTW: mod_rewrite funktioniert bei mir mit normalen Seiten (Ich habe aus bestimmten Gründen: assume_mod_rewrite="true", use_hierachy="false" eingestellt) ohne Probleme.

Meine komplette .htaccess (ohne obiges Konstrukt):

Code: Select all

Options -Indexes

<Files "config.php">
order allow,deny
deny from all
</Files>

ServerSignature Off

Options +FollowSymLinks
RewriteEngine On

# URL Filtering helps stop some hack attempts
#IF the URI contains a "http:"
RewriteCond %{QUERY_STRING} http\: [OR]
#OR if the URI contains a "["
RewriteCond %{QUERY_STRING} \[ [OR]
#OR if the URI contains a "]"
RewriteCond %{QUERY_STRING} \] [OR]
#OR if the URI contains a "<__script__>"
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
#OR script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
#OR any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) 
RewriteRule ^.*$ - [F,L] 
# END Filtering

# Hier wird "http//daec-duesseldorf.de nach http://www.daec-duesseldorf.de umgeschrieben (kein DC)
RewriteCond %{HTTP_HOST} ^daec-duesseldorf.de$ [NC]
RewriteRule ^(.*) http://www.daec-duesseldorf.de/$1 [L,R=301]

# CMSMS Rewriting
# Set assume mod_rewrite to true in config.php and clear CMSMS cache
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
# END CMSMS

# Spambots nach User_agent aussperren
RewriteCond %{HTTP_USER_AGENT} ^.*Whacker.*$ [OR] 
RewriteCond %{HTTP_USER_AGENT} ^EmailCollector [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR] 
RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR] 
RewriteCond %{HTTP_USER_AGENT} ^.*FileHound.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*TurnitinBot.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*JoBo.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*adressendeutschland.*$
RewriteRule ^.* - [F]

# END Rewrite rules
Danke für jeden Hinweis.

Hani
Last edited by hibr on Mon Jan 19, 2009 8:01 pm, edited 1 time in total.
Hanis Sammelsurium - How To's, Erfahrungs- und Meinungsberichte
mike-r

Re: Umlenkung Feed-Adresse (Kein Pretty URL)

Post by mike-r »

hibr wrote: Da "Redirect 301" nicht funktionieren kann, muss ich es mit mod_rewrite machen. Da es nur eine Adresse ist, dachte ich, dass es einfach so geht:
Wieso kann das nicht funktionieren? Vor allem, wo es "nur eine Adresse ist"?
User avatar
hibr
Forum Members
Forum Members
Posts: 73
Joined: Fri Feb 08, 2008 11:22 pm

Re: Umlenkung Feed-Adresse (Kein Pretty URL)

Post by hibr »

mike-r wrote:
hibr wrote: Da "Redirect 301" nicht funktionieren kann, muss ich es mit mod_rewrite machen. Da es nur eine Adresse ist, dachte ich, dass es einfach so geht:
Wieso kann das nicht funktionieren? Vor allem, wo es "nur eine Adresse ist"?
Redirect soll laut http://httpd.apache.org/docs/1.3/mod/mod_alias.html#redirect  so funktionieren:

Redirect [status] URL-path URL

Das heisst, dass man von der URL, die man umleiten will, nur den
'path'-Teil der URL, nicht aber den 'query string' angeben
kann. (Hinten bei der Ziel-URL kann man dagegen eine URL mit 'query string' angeben)

Ich hatte es vor diesem Posting (aus Verzweifelung)  trotz besseren Wissens versucht und es hat erwartungsgemäß nicht funktioniert.

Trotzdem Danke für Deine schnelle Antwort.

Hani
Hanis Sammelsurium - How To's, Erfahrungs- und Meinungsberichte
User avatar
hibr
Forum Members
Forum Members
Posts: 73
Joined: Fri Feb 08, 2008 11:22 pm

Re: Umlenkung Feed-Adresse (Kein Pretty URL)

Post by hibr »

Nach erstem Nachfrage in der Newsgroup de.comm.infosystems.www.authoring.misc hat Gustaf Mossakowski mir vorgeschlagen es ungefähr so zu versuchen:

Code: Select all

RewriteCond {%QUERY_STRING} ^mact=News,cntnt01,rss&cntnt01showtemplate=false&cntnt01category=Allgemein%2CWebsite%2CVeranstaltung&cntnt01number=20&cntnt01returnid=15$
RewriteRule ^(.*)$ http://www.daec-duesseldorf.de/index.php?mact=CGFeedMaker,cntnt01,default,0&cntnt01feed=aktuelles&cntnt01showtemplate=false&cntnt01returnid=15? [L,R=301]
Das hat zuerst nicht funktioniert. Es stand wieder die alte Adresse in der Url-Zeile des Browsers. Im Forum von modrewrite.de hat Markus Wulftange  mir vorgeschlagen, die "%2C" im Query-String gegen Kommas zu tauschen. Auch das hat zuerst nichts gebracht.

Um Schritt für Schritt einen vermeintlichen Fehler (Zeichen) zu finden habe ich den Query-String der RewriteCond "gekürzt" (Erst "^mact=News" dann "^mact=News,cntnt01" u.s.w.) um herauszufinden, ab wann die Umleitung nicht mehr funktioniert.

Der erste Versuch hat erwartungsgemäß funktioniert u.s.w. bis ich am Ende (voller Query-String) angekommen war. Es hat bei allen Zwischenschritten funktioniert auch mit vollem Query-String und mit den %2C! und obigem Ansatz. Ich habe aber keine Erklärung warum es am Anfang nicht funktioniert hat.

Mittlerweile habe ich auf eine Pretty-Url umgeleitet und das funktioniert auch. Ich bin zwar erstmal zufrieden, frage mich aber nach dem Grund.

Gruß Hani

PS: Für alle die ähnliches vorhaben: Obige Umleitungen müssen immer vor dem CMSms Rewriting (und natürlich nach "RewriteEngine On") stehen, wenn man Pretty Urls verwendet, sonst funktioniert es nicht.
Hanis Sammelsurium - How To's, Erfahrungs- und Meinungsberichte
Post Reply

Return to “German - Deutsch”