Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 09. Februar 2012 11:41

denniso
hat von CMS/ms gehört
Registriert: 09. Februar 2012
Beiträge: 4

URL Redirect und CGBlog...

Hallo,

ich hab da ein kleines Problem mit dem Redirect von URL's in Verbindung mit dem CGBlog.
Also:
Für eine neue Seite mit CMSMS musste ich die Inhalte aus einem Joomla CMS und einem Wordpress Blog verbinden.

Da die alte Seite (Joomla) auf dem Server in einem Unterverzeichnis (CMS) lag hab ich "einfach" auf der neuen einen Ordner "/cms" gemacht und in diesem eine .htaccess mit den Redirect 301 für alte URL auf neue URL angelegt. Das läuft.

Nun zum Problem:
Der alte Wordpress Blog lag in einem Ordner "/blog" wenn ich hier versuche mit einer .htaccess in einem Verzeichnis "/blog" die alten URL's auf die neuen zu linken, dann geht das (mit sehr komischen Ergebnissen) schief.

Im der CGBlog läuft über:

$config['url_rewriting'] = 'mod_rewrite';
$config['page_extension'] = '.htm';

Also die Blog Übersicht über ..../cgblog.htm
und die Beiträge über ..../cgblog/[catID]/[titelStr].htm

Im alten Blog (Wordperss) waren die SEO Urls als Verzeichnisse definiert. Also:
..../blog/KategorieStr/BeitragStr/

Wenn ich hier also über eine .htaccess im Verzeichnis ../blog Versuche die Redrect 301 zu setzen, dann geht es auf eine 404 Seite. Zu meiner Verwunderung aber nicht auf die eigentlich in CMSMS definierte 404 Seite.

Wenn ich die .htaccess lösche und dann einen alte URL
in die Adresszeile kopiere bekomme ich eine Weiterleitung auf eine URL die besonders "falsch" ist. Das wird dann zu: www.neueseite.de/cgblog.htmKategorieStrBeitragStr/ ???

Ich hab mich daher mal ein wenig im CGBlog Modul umgesehen und hier eine "Spur" gefunden.
Hier gibt es in der CGBlog.modul.php diesen Code:

[== php ==]
$str = '[cC][Gg][Bb]log';
    $str = $this->GetPreference('urlprefix',$str);
    $this->RegisterRoute('/'.$str.'\/archive\/(?P<year>[0-9]+)\/(?P<month>[0-9]+)\/(?P<returnid>[0-9]+)$/',
			 array('action'=>'default'));
    $this->RegisterRoute('/'.$str.'\/archive\/(?P<year>[0-9]+)\/(?P<month>[0-9]+)$/',
			 array('action'=>'default','returnid'=>$summarypage));

    $this->RegisterRoute('/'.$str.'\/(?P<articleid>[0-9]+)\/(?P<returnid>[0-9]+)\/(?P<junk>.*?)$/',
			 array('action'=>'detail'));
    $this->RegisterRoute('/'.$str.'\/(?P<articleid>[0-9]+)\/(?P<returnid>[0-9]+)$/',
			 array('action'=>'detail'));
    $this->RegisterRoute('/'.$str.'\/(?P<articleid>[0-9]+)\/(?P<junk>.*?)$/',
			 array('action'=>'detail','returnid'=>$detailpage));
    $this->RegisterRoute('/'.$str.'\/(?P<articleid>[0-9]+)$/',
			 array('action'=>'detail','returnid'=>$detailpage));

    $this->RegisterRoute('/'.$str.'\/category\/(?P<category_id>[0-9]+)\/(?P<returnid>[0-9]+)\/(?P<junk>.*?)$/',
			 array('action'=>'default'));
    $this->RegisterRoute('/'.$str.'\/category\/(?P<category_id>[0-9]+)\/(?P<junk>.*?)$/',
			 array('action'=>'default','returnid'=>$summarypage));

Ich Vermute, das diese Funktion RegisterRoute() function schuld ist und meinen Plan mit dem Redirect vereitelt??
Es scheint als würde diese (obwohl mein Blog eine andere pretty url  hat) immer wieder eingreifen und zusammen mit der .htaccess im Stammverzeichnis für diese URL durcheinander sorgen.

Options +FollowSymLinks
RewriteEngine on
RewriteBase /

# 301 Redirect all requests that don't contain a dot or trailing slash to
# include a trailing slash
#RewriteCond %{REQUEST_URI} !/$
#RewriteCond %{REQUEST_URI} !\.

# Rewrites urls in the form of /parent/child/
# but only rewrites if the requested URL is not a file or directory

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+).htm$ index.php?page=$1 [QSA]

Und mir damit meine Grenzen aufzeigt.....

Hat hier jemand eine Idee?
Kann ich ggf. schon in der CGBlog.modul.php eingreifen und dann das Prinzip htacces im Unterverzeichnis anwenden?
Oder ist mein Ansatz völlig daneben??

Ich hab's auch schon mit dem Modul: ToolBox versucht. Gleiches Problem.

Daher bin ich für jede Hilfe sehr dankbar..

Offline

#2 09. Februar 2012 13:30

mike-r
arbeitet mit CMS/ms
Registriert: 21. Dezember 2010
Beiträge: 898
Webseite

Re: URL Redirect und CGBlog...

ich hab da nicht so den Durchblick, aber Deine Regel für's Blog wäre glaube ganz zielführend zu wissen.


Unablässige Tools für's Webdevelopement/ Fehlerfindung: CSS Validierungsservice, Bildschirmlineal, Firebug, Tidy, Deutsche CSS-Referenz

Offline

#3 10. Februar 2012 11:50

denniso
hat von CMS/ms gehört
Registriert: 09. Februar 2012
Beiträge: 4

Re: URL Redirect und CGBlog...

mike-r schrieb:

ich hab da nicht so den Durchblick, aber Deine Regel für's Blog wäre glaube ganz zielführend zu wissen.

Wie meinst Du das?

Offline

#4 10. Februar 2012 11:58

mike-r
arbeitet mit CMS/ms
Registriert: 21. Dezember 2010
Beiträge: 898
Webseite

Re: URL Redirect und CGBlog...

Diese Regel:

denniso schrieb:

Der alte Wordpress Blog lag in einem Ordner "/blog" wenn ich hier versuche mit einer .htaccess in einem Verzeichnis "/blog" die alten URL's auf die neuen zu linken, dann geht das (mit sehr komischen Ergebnissen) schief.


Unablässige Tools für's Webdevelopement/ Fehlerfindung: CSS Validierungsservice, Bildschirmlineal, Firebug, Tidy, Deutsche CSS-Referenz

Offline

#5 10. Februar 2012 12:15

denniso
hat von CMS/ms gehört
Registriert: 09. Februar 2012
Beiträge: 4

Re: URL Redirect und CGBlog...

Options +FollowSymLinks
RewriteEngine on
RewriteBase /

Redirect permanent /blog/beitrag/ http://www.meineseite.de/emotion-blog.htm

Offline

#6 10. Februar 2012 12:26

mike-r
arbeitet mit CMS/ms
Registriert: 21. Dezember 2010
Beiträge: 898
Webseite

Re: URL Redirect und CGBlog...

Das leitet aber nur diese eine Seite weiter, also die (Blog-)Startseite. Logisch, dass da nicht sehr viel passiert.
Hier müsste eine etwas komplexere Regex her. (keine Ahnung, wie genau)
Allerdings wird das bei Deiner Struktur nicht ganz funktionieren, da Du die Kategorien in CGBlog über eine ID ansprichst:

und die Beiträge über ..../cgblog/[catID]/[titelStr].htm

Du willst also:
example.tld/blog/bananen/heute-neu.htm
nach
example.tld/cgblog/13/heute-neu.htm
umschreiben. Verstehe ich das richtig?
Das wird ohne umständliches Gefrickel so nicht gehen.

Edit: Wieviele Beiträge hast Du denn eigentlich im alten Blog? Dass man Aufwand/Nutzen abschätzen kann?

Beitrag geändert von mike-r (10. Februar 2012 12:29)


Unablässige Tools für's Webdevelopement/ Fehlerfindung: CSS Validierungsservice, Bildschirmlineal, Firebug, Tidy, Deutsche CSS-Referenz

Offline

#7 10. Februar 2012 12:34

denniso
hat von CMS/ms gehört
Registriert: 09. Februar 2012
Beiträge: 4

Re: URL Redirect und CGBlog...

So in der Art hab ich das vor...

Da es nicht sehr viele Blogeinträge gab wollte ich diese mit einzelnen "festen" Redirect's umschreiben.

Also daher die Regeln etwas genauer:

Redirect permanent /blog/ http://www.meineseite.de/emotion-blog.htm
Redirect permanent /blog/kategorie1/beitrag1/ http://www.meineseite.de/emotion-blog/katid1/beitrag1.htm
Redirect permanent /blog/kategorie1/beitrag2/ http://www.meineseite.de/emotion-blog/katid1/beitrag2.htm
Redirect permanent /blog/kategorie2/beitrag1/ http://www.meineseite.de/emotion-blog/katid2/beitrag1.htm
Redirect permanent /blog/kategorie2/beitrag2/ http://www.meineseite.de/emotion-blog/katid2/beitrag2.htm
.
.
.

Der alte Wordpress-Blog hatte die URL nur als Verzeichisse also keine .htm sonder nur einen / am ende.
Auch gab es hier keine ID's sondern nur Strings als Kategorien.

Und mit den Links aus dem alten Joomla CMS geht das so. Nur der Blog zickt rum..?

ca. 60 Beiträge sind im alten Blog.

Beitrag geändert von denniso (10. Februar 2012 12:35)

Offline