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
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
Danke
07.01.08 11:48:09, 