Aktivierung der Erstellung von SEO-URLs

matti
Beiträge: 5
Registriert: Mi 10. Nov 2010, 11:02
Kontaktdaten:

Re: Aktivierung der Erstellung von SEO-URLs

Beitrag von matti »

Hallo,

ist es auch möglich weitere Artikel einer Kategorie in SEO-URLS zu umschreiben?
Welche Anpassungen sind notwendig?
Momentan bleiben alle weiteren Artikel in front_content!

Beste Grüße
matti
gala81
Beiträge: 1
Registriert: Fr 7. Jan 2011, 17:18
Kontaktdaten:

Re: Aktivierung der Erstellung von SEO-URLs

Beitrag von gala81 »

Ich möchte mich an dieser Stelle nur einmal für die super Erklärung bedanken. Sogar als absoluter DAU habe ich es geschafft meine URLs umzuwandeln, auch wenn ich nicht verstanden habe WIE es funktioniert - es hat funktioniert :D

*Lob muss auch mal sein!*
daniello1
Beiträge: 25
Registriert: Mi 27. Dez 2006, 19:20
Wohnort: Hamburg
Kontaktdaten:

Re: Aktivierung der Erstellung von SEO-URLs

Beitrag von daniello1 »

Hallo zusammen,

ich komme leider mit den SEO-Urls nicht ganz klar, da ich nicht so viel Erfahrung habe. Ich habe die hier beschriebenen Änderungen in der config.misc.php und in der .htaccess ausgeführt. Leider bekomme ich immer ein "Not Found" und weiss auch nach diversem Rumprobieren und nachlesen nicht mehr weiter.

Zunächst mal mein Ziel:
Ich möchte in meinem contenido 4.8.12 SEO-URLs aktivieren und wenn es geht URLs wie http://www.domain.de/sprache/kategoriename.html bekommen.

Das System liegt unter webroot/, also in keinem Unterordner.


Die config.misc.php sieht momentan so aus:

/**
* UrlBuilder settings
* -------------------
* 'name' = The name of UrlBuilder to use.
* 'config' = Default UrlBuilder configuration, depends on used UrlBuilder
*
* Defined name is used by /contenido/classes/UrlBuilder/Contenido_UrlBuilderFactory.class.php
/*
$cfg['url_builder']['name'] = 'front_content';
$cfg['url_builder']['config'] = array();
*/
// Example setting for UrlBuilder 'custom_path':
$cfg['url_builder']['name'] = 'custom_path';
$cfg['url_builder']['config'] = array(' ' => ' ', 'suffix' => '.html', 'separator' => '');


Meine htaccess liegt im Verzeichnis /cms und sieht so aus:

<IfModule mod_rewrite.c>

# rewrite engine aktivieren
RewriteEngine on

# rewrite base angeben, noetig bei manchen providern
RewriteBase /cms/

# requests zu front_content.php vom umschreiben ausschliessen
RewriteRule ^front_content.php.*$ - [L]

# request zum root-verzeichnis
#RewriteRule ^$ front_content.php [QSA,L]

# requests nach dem muster /Was-ist-Contenido/rocknroll,a,2.4fb umschreiben
RewriteRule ^(.*)/index-([0-9]+)\.html$ /cms/front_content.php?idcat=$2 [NC,QSA,L]

</IfModule>


Die URL die rauskommt sieht momentan so aus:
http://www.domain.de/kategoriename/aID.html

soll aber wenns geht so aussehen
http://www.domain.de/sprache/kategoriename.html

Kann mir jemand sagen, wie ich zunächst mal das /aID wegbekomme und welche Ergänzung ich für die Sprache vornehmen muss?

Vielen Dank für Eure Hilfe vorab.

Grüsse
Daniel
xmurrix
Beiträge: 3215
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 4 Mal
Danksagung erhalten: 17 Mal
Kontaktdaten:

Re: Aktivierung der Erstellung von SEO-URLs

Beitrag von xmurrix »

Hallo Daniel,

wenn du URLs mit der Sprache im URL-Pfad generieren und dabei die in Contenido vorhandenen UrlBuilder verwenden willst, erreichst du das nur, wenn du auch die Sprache als Kategorie im Kategoriebaum integrierst.

Code: Alles auswählen

Hauptnavigation
    Deutsch
        Kategoriename
        ...
Wenn du die Sprache nicht als eine Kategorieebene anlegen willst, kommst du nicht drum herum, dir deinen eigenen UrlBuilder zu implementieren.

Du kannst dir auch das AMR-Plugin mal ansehen, der sollte die URLs so generieren, wie du es dir vorstellst.

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
koneko76
Beiträge: 6
Registriert: So 20. Feb 2011, 13:30
Kontaktdaten:

Re: Aktivierung der Erstellung von SEO-URLs

Beitrag von koneko76 »

Hallo Zusammen,
erstmal zur Info vorweg, ich bin komplett neu im Thema Contenido und auch in dem Thema modRewrite.

Version Contenido: 4.8.13

Ich habe nach den in diesem Thread angegebenen Anweisungen die SEO URLs aktiviert. In meiner config.misc.php sieht die Änderung wie folgt aus:

Code: Alles auswählen

$cfg['url_builder']['config'] = array('prefix' => 'index', 'suffix' => '.html', 'separator' => ',');
Meine Rewrite Rule sieht so aus:
RewriteRule ^(.*)/index,a,([0-9]+)\.html$ front_content.php?idcat=$2 [NC,QSA,L]

Der ganze Spass funktioniert auch zunächst super. Probleme bekomme ich nun bei der Suche. Klicke ich auf eines der Suchergebnisse gibt es ein 404.
Dies gilt auch für das News Modul, klicke ich auf mehr bekomme ich ebenfalls ein 404 Fehler. Ich kann mir schon denken dass für diese Fälle die RewriteRule
nicht ausreicht. Weiterhin zeigt sich selbiges Verhalten bei der Sprachumschaltung.

Als Hinweis noch ich habe das Ganze an der Contenido Demo Site getestet und möchte es dort auch zunächst zum laufen bekommen. Hat evtl. jemand RewriteRules
für diese Fälle (Sprachumschaltung, Newsmodul, Suche) erstellt u. könnte mir da weiterhelfen, da ich auch den URL-Aufbau von Contenido noch nicht so genau kenne :(

schon mal vielen Dank und viele Grüße.
koneko76
Beiträge: 6
Registriert: So 20. Feb 2011, 13:30
Kontaktdaten:

Re: Aktivierung der Erstellung von SEO-URLs

Beitrag von koneko76 »

Hallo Zusammen,
ich habe genau meine Lösung gefunden unter folgendem Thread http://forum.contenido.org/viewtopic.php?f=64&t=30897 Sorry für das zuspammen des Forums :oops:
Schertle
Beiträge: 55
Registriert: Fr 23. Apr 2004, 14:51

Re: Aktivierung der Erstellung von SEO-URLs

Beitrag von Schertle »

Bin wie beschrieben vorgegangen!
Habe folgende Zeilen in die config.misc.php eingetragen

Code: Alles auswählen

$cfg['url_builder']['name']   = 'custom_path';
$cfg['url_builder']['config'] = array('prefix' => 'rocknroll', 'suffix' => '.4fb', 'separator' => ',');
Habe auch die .htaccess erzeugt.

Aber es erscheinen weiterhin URL's wie front_content.php?idcat=.

Durch den Eintrag in der config.msc.php müssten doch schon die neuen Url's erscheinen auch ohnne Änderungen in der .htaccess?
Wo müsste die .htaccess hin? Ins Mandantenverzeichnis?

Der vhost des Apache verweist direkt in das Mandantenverzeichnis.
Und die Adresse laute zum Beispiel: http://www.example.com/front_content.php?idcat=143
Das Verzeichnis CMS gibt es bei uns nicht mehr!

Apache modrewrite funktioniert.
AMR Plugin funktioniert auch.

Würde aber gerne den Contenido Standard benutzen.
Wo liegt mein Fehler?
xmurrix
Beiträge: 3215
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 4 Mal
Danksagung erhalten: 17 Mal
Kontaktdaten:

Re: Aktivierung der Erstellung von SEO-URLs

Beitrag von xmurrix »

Schertle hat geschrieben:...
Aber es erscheinen weiterhin URL's wie front_content.php?idcat=...
Werden auch alle URLs in Modulausgaben mit Contenido_Url generiert? Beispiel:

Code: Alles auswählen

// mit idcat
$aParams = array ('idcat' => $idcat, 'lang' => $lang);
$url = Contenido_Url::getInstance()->build($aParams);

// oder mit idart
$aParams = array ('idart' => $idcat, 'lang' => $lang);
$url = Contenido_Url::getInstance()->build($aParams);
Wenn nicht, dann müsstest du alle vorkommende URLs zum Frontend entsprechend anpassen.
Schertle hat geschrieben:...Durch den Eintrag in der config.msc.php müssten doch schon die neuen Url's erscheinen auch ohnne Änderungen in der .htaccess?...
Ja, wenn die URLs in in Modulausgaben wie oben beschrieben generiert werden.
Schertle hat geschrieben:...Wo müsste die .htaccess hin? Ins Mandantenverzeichnis?...
Ja, die kommt dann ins Mandantenverzeichnis, da das Verzeichnis das Document Root ist, dann ist in der .htaccess die Zeile

Code: Alles auswählen

RewriteBase /cms
gegen

Code: Alles auswählen

RewriteBase /
zu ersetzen.

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
Schertle
Beiträge: 55
Registriert: Fr 23. Apr 2004, 14:51

Re: Aktivierung der Erstellung von SEO-URLs

Beitrag von Schertle »

Danke für die schnelle Antwort.
Ich habe diesen Code in unseren Modulausgaben nicht gefunden.
In meinem Standard Template sind ja mehrere Module, wie kann ich erkennen durch welches Modul die Url generiert wird?
Müsste ich den Code in allen Modulen anpassen?

Dann wird es wohl für uns einfacher sein das AMR plugin einzusetzen.
matti
Beiträge: 5
Registriert: Mi 10. Nov 2010, 11:02
Kontaktdaten:

Re: Aktivierung der Erstellung von SEO-URLs

Beitrag von matti »

Hallo zusammen,

ich habe den Url Builder von Contenido aktiviert und angepasst. Soweit funktioniert der ja ganz gut.
Seit kurzem aber wird der Host also www im Browser nicht mehr angezeigt, obwohl ich in der htaccess nachfolgendes stehen habe.
Hat jemand von Euch eine Lösung?

RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [R=301]

Außerdem kann ich die Sitemap im XML Format nicht mehr über den Browser aufrufen und diese kann Google nicht herunterladen.

Beste Grüße, Matti
Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Aktivierung der Erstellung von SEO-URLs

Beitrag von Spider IT »

Hallo Matti,

mit der .htaccess kenne ich mich nicht sooo gut aus, aber ich denke mal da fehlt was.
Bei meine .htaccess steht folgendes drin:

Code: Alles auswählen

RewriteCond %{HTTP_HOST} ^spider-it\.de$ [NC]
RewriteRule ^(.*) http://www.spider-it.de%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} ^spider-it\.de$ [NC]
RewriteRule ^(.*) http://www.spider-it.de/ [L,R=301]
Das mit der {REQUEST_URI} finde ich bei dir nicht, aber ich denke, das könnte wichtig sein.

Die Sitemap muss in der .htaccess bei den Ausnahmen stehen (Pfad evtl. korrigieren):

Code: Alles auswählen

RewriteRule ^sitemap.xml.*$ - [L]
Gruß
René
matti
Beiträge: 5
Registriert: Mi 10. Nov 2010, 11:02
Kontaktdaten:

Re: Aktivierung der Erstellung von SEO-URLs

Beitrag von matti »

Spider IT hat geschrieben:Hallo Matti,

mit der .htaccess kenne ich mich nicht sooo gut aus, aber ich denke mal da fehlt was.
Bei meine .htaccess steht folgendes drin:

Code: Alles auswählen

RewriteCond %{HTTP_HOST} ^spider-it\.de$ [NC]
RewriteRule ^(.*) http://www.spider-it.de%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} ^spider-it\.de$ [NC]
RewriteRule ^(.*) http://www.spider-it.de/ [L,R=301]
Das mit der {REQUEST_URI} finde ich bei dir nicht, aber ich denke, das könnte wichtig sein.

Die Sitemap muss in der .htaccess bei den Ausnahmen stehen (Pfad evtl. korrigieren):

Code: Alles auswählen

RewriteRule ^sitemap.xml.*$ - [L]
Gruß
René
Hallo Rene,

das mit der Sitemap hat jetzt geklappt, aber das andere noch nicht. Ich probiere es weiter.

Wer weitere Tipps hat immer her damit.

Danke erstmal!

Beste Grüße, Matti
kein_experte
Beiträge: 1
Registriert: Mo 18. Jun 2012, 16:42
Kontaktdaten:

Re: Aktivierung der Erstellung von SEO-URLs

Beitrag von kein_experte »

Hey Leute!

Ich bin gerade dabei auf einer Webseiti die SEO-Urls zu aktivieren. Bei einer neu-Intalltation klapt es wunderbar, Leider aber nicht bei einer Webseite die schon gibt. #
Mein Ablauf war:
1. Contenido neu installiert
2. Mit Mysql-dumper die Datenbank der webseite eingespielt (Bis hierhin klapt alles).
3. In der config.misc.php auf custom_path umgegestelltr

Code: Alles auswählen

$cfg['url_builder']['name']   = 'custom_path';
$cfg['url_builder']['config'] = array('prefix' => 'rocknroll', 'suffix' => '.4fb', 'separator' => ',');
4. .htaccess umgeschrieben

Code: Alles auswählen

#AddType x-mapp-php5 .php
#AddHandler x-mapp-php5 .php

# folgende zeilen sind bei 1und1.de zu aktivieren, damit PHP5 moeglich ist
#AddType x-mapp-php5 .php
#AddHandler x-mapp-php5 .php

<IfModule mod_rewrite.c>

# rewrite engine aktivieren
RewriteEngine on

# rewrite base angeben, noetig bei manchen providern
RewriteBase /

# requests zu front_content.php vom umschreiben ausschliessen
RewriteRule ^front_content.php.*$ - [L]

# request zum root-verzeichnis
#RewriteRule ^$ front_content.php [QSA,L]

# requests nach dem muster /Was-ist-Contenido/rocknroll,a,2.4fb umschreiben
RewriteRule ^(.*)/rocknroll,a,([0-9]+)\.4fb$ /cms/front_content.php?idcat=$2 [NC,QSA,L]

</IfModule>
Ab hier muss es doch schon funktionieren? Zumindesten funktioniert es bei einer neu installation !!! Leider nicht mit der Datenbank der Webseite die es schon gibt.
Wennn ich in der Contenido_UrlBuilder_CustomPath.class.php die url anzeige lasse

Code: Alles auswählen

echo $this->sUrl;
dann kommt das hier raus.
http://seite.xx/cms/rocknroll,client,1, ... rror,1.4fb

Woher kommt dieses Error ?

Kann mir jemand weiter helfen? Was muss ich mach damit es funktioniert

viel grüße
Andrej
Gesperrt