CoolURI Tutorial

von Jan Matthiesen

Die Extension CoolURI wandelt die TYPO3 typischen URLs der Form index.php?id=123 in suchmaschinenfreundliche URLs der Form /seite/unterseite/unter-unterseite um. Sowohl die einfache und simple Konfiguration, sowie der fortgeschrittene Entwicklungsstand, machen CoolURI zu einer echten Alternative gegenüber RealURL. Im folgenden Tutorial werden die Grundschritte zur erfolgreichen Inbetriebnahme von CoolURI erläutert.

Voraussetungen
PHP 5+ mit SimpleXML
MySQL 4.1+

Fortsetzung:

Schritt 1: .htaccess anpassen
Der erste Schritt zur erfolgreichen Inbetriebnahme von CoolURI erfordert einige Anpassungen an der .htaccess Datei im TYPO3 Root Verzeichnis.
Folgende Codezeilen einfach kopieren und in die .htaccess auf dem Server kopieren. Sollte die .htaccess noch nicht exisitieren, allerdings die Datei _.htaccess, dann einfach die bestehende _.htaccess in .htaccess umbenennen.
Alternativ biete ich unter dem Codeblock die folgenden Codezeilen zum Download an. Die heruntergeladene Datei muss lediglich von _.htaccess in .htaccess umbenannt und in das TYPO3 Root Verzeichnis kopiert werden.

Code:

RewriteEngine On
 
RewriteRule ^/(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php)$ - [L]
RewriteRule ^/(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php)/.*$ - [L]
 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php

Download .htaccess
Zum Download: Rechte Maustaste -> Ziel speichern unter…

Schritt 2: Installation
Nun folgt die Installation der CoolURI Extension. Die Extension kann man auf zwei unterschiedliche Weisen installieren. Beide Methoden nutzen den TYPO3 Extension Manager.
Zum einen kann die Extension direkt über den Extension Manager -> Import extensions -> Extensions in TYPO3 Extension Repository installiert werden. Der Extension Key für CoolURI lautet ‘cooluri’.
Zum anderen kann die Extension als .t3x-Datei unter folgendem Link heruntergeladen, und unter Extension Manager -> Import extensions -> Upload extension file directly hochgeladen und installiert werden.
Extension Download: http://typo3.org/extensions/repository/view/cooluri/1.0.9/

Schritt 3: TypoScript
Um CoolURI zu aktivieren werden noch einige Änderungen am TypoScript benötigt.
Der Konfigurationsparamter config.baseURL muss noch nach Bedarf angepasst werden, wichtig ist / am Ende der baseURL.

Code:

# Deactivate simulateStaticDocuments
config.simulateStaticDocuments = 0
 
# Set base url
config.baseURL = http://www.meinedomain.de/
# Enable CoolURI
config.tx_cooluri_enable = 1
# Redirect old links to new uri
config.redirectOldLinksToNew = 1

Schritt 4: Basis XML-Konfigurationsdatei
Die folgende XML Datei liegt im CoolURI Verzeichnis unter dem Namen CoolUriConf.xml_default. Diese Datei muss in den typo3conf Ordner kopiert und in CoolUriConf.xml umbenannt werden, sofern kein anderes Verzeichnis bei der Installation angegeben wurde.
Im folgenden Codeblock ist der gesamte Inhalt der CoolUriConf.xml_default noch einmal gelistet.

XML:

<?xml version="1.0" encoding="utf-8"?>
<cooluri>
  <cooluris>1</cooluris>
 
  <cache>
    <usecache>1</usecache>
    <params2cool>
      <checkforchangeevery>1</checkforchangeevery>
    </params2cool>
    <cool2params>
      <translateifnotfound>0</translateifnotfound>
      <oldlinksvalidfor>365</oldlinksvalidfor>
    </cool2params>
    <cacheparams>0</cacheparams>
 
    <pagenotfound>
      <status>HTTP/1.0 404 Not Found</status>
      <behavior type="message"><![CDATA[ <h1>Page not found!</h1> ]]></behavior>
    </pagenotfound>
  </cache>
 
  <pagepath>
    <title>tx_realurl_pathsegment,alias,subtitle,title</title>
    <saveto>id</saveto>
    <default>0</default>    
    <userfunc>tx_cooluri->getPageTitle</userfunc>
    <t3conv>1</t3conv>
  </pagepath>
 
  <uriparts>
    <part>
      <parameter>tx_ttnews[tt_news]</parameter>
      <lookindb>
        <to>SELECT title FROM tt_news WHERE uid=$1</to>
        <translatetoif>
          <match>^[0-9]+$</match>
        </translatetoif>
        <t3conv>1</t3conv>
      </lookindb>
    </part>
    <part>
      <parameter>tx_eeblog[showUid]</parameter>
      <lookindb>
        <to>SELECT subject FROM tx_eeblog_maintable WHERE uid=$1</to>
        <translatetoif>
          <match>^[0-9]+$</match>
        </translatetoif>
        <t3conv>1</t3conv>
      </lookindb>
    </part>
  </uriparts>
 
  <predefinedparts>
    <part>
      <parameter>tx_ttnews[backPid]</parameter>
    </part>
    <part>
      <parameter>cHash</parameter>
    </part>
    <part>
      <parameter>tx_eeblog[pointer]</parameter>
    </part>
    <part>
      <parameter>tx_eeblog[backPID]</parameter>
    </part>
    <part>
      <parameter>no_cache</parameter>
    </part>
  </predefinedparts>
 
  <valuemaps>
    <valuemap>
      <parameter>L</parameter>
      <value key="">0</value>
      <value key="en">1</value>
    </valuemap>
  </valuemaps>
 
  <paramorder>
    <param>L</param>
  </paramorder>
 
</cooluri>

Download CoolUriConf.xml
Zum Download: Rechte Maustaste -> Ziel speichern unter…

Alte simulateStaticDocuments auf neue CoolURIs umleiten
Für bereits bestehende Webauftritte mit aktiviertem simulateStaticDocuments kann folgende RewriteRule die bereits von den Suchmaschinen indizierten Seiten weiterhin aufrufen, bzw. zu den neuen URLs umleiten. Hierbei wird der Suchmaschine zusätzlich mitgeteilt, dass die alte Seite nicht mehr unter der alten URL erreichbar ist, sondern nur noch unter der neuen URL.
Dazu muss lediglich die .htaccess folgendermaßen angepasst werden.

Code:

RewriteEngine On
 
RewriteRule ^/(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php)$ - [L]
RewriteRule ^/(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php)/.*$ - [L]
 
# Redirect old simulateStaticDocuments urls
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-l
RewriteRule ^/.+\.(.+)\.[0-9]\.html /index.php?id=$1 [R=301,L,QSA,NE]
 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php

Weiterführende Links:
Offizielle Website: Link
Tutorial von Andreas Becker: Link

Trackback-Adresse für diesen Eintrag

Trackback-URL (Rechtsklick und Verknüpfungs-/Link-Adresse kopieren)

3 Kommentare

Kommentar von: Maisie [Besucher] E-Mail · http://islipinsurance.blogspot.com
Keep up the good work.
29.10.08 @ 10:52
Kommentar von: typo3fan [Besucher] E-Mail
hi, wie gerne hätte ich hier eine erfolgsmeldung platziert, denn mir gefällt dieses tutorial, ist sehr verständlich geschrieben. aber ich bekomme leider diese fehlermeldung, mit der ich grad nicht viel anfangen kann:


Warning: SimpleXMLElement::__construct() [simplexmlelement.--construct]: Entity: line 1: parser error : XML declaration allowed only at the start of the document in ... typo3conf/ext/cooluri/cooluri/link.Translate.php on line 14

wenn vieelicht jemand einen tipp hierzu hat, würde ich mich freuen. gruß, roland
16.12.08 @ 00:36
Kommentar von: A.Jendryssik [Besucher] · http://www.artgraphix.de
Gutes Tutorial um Cooluri zu konfigurieren.

Danke
10.10.09 @ 06:41

Einen Kommentar hinterlassen


Ihre E-Mail-Adresse wird nicht auf dieser Seite angezeigt.

Ihr URL wird angezeigt.
(Zeilenumbrüche werden zu <br />)
(Name, E-Mail-Adresse & Webseite)
(Benutzern erlauben, Sie durch ein Kontaktformular zu kontaktieren (Ihre E-Mail-Adresse wird nicht weitergegeben))