Real URL

Installation

Installieren der Extension Real URL (realurl 1.1.4).

Setup

Typo3

Folgendes in das Setup des Templates aufnehmen:

config.simulateStaticDocuments = 0
config.baseURL = knolledge.local
config.tx_realurl_enable = 1

Apache

Verwende das folgende .htaccess file:

RewriteEngine On
RewriteRule ^typo3$ - [L]
RewriteRule ^typo3/.*$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php

Um das Rewriting zu debuggen folgendes aufnehmen in die httpd.conf (level Maximum ist 9)

RewriteLog /var/log/httpd/knolledge.local-rewrite.log
RewriteLogLevel 3

Konfiguration

Editiere typo3conf/ext/realurl/ext_localconf.php und füge folgenden Code ein:

<?php

// Realurl
$TYPO3_CONF_VARS['SC_OPTIONS'] ['t3lib/class.t3lib_tstemplate.php'] ['linkData-PostProc'] []
= 'EXT:realurl/class.tx_realurl.php:&tx_realurl->encodeSpURL';
$TYPO3_CONF_VARS['SC_OPTIONS'] ['tslib/class.tslib_fe.php'] ['checkAlternativeIdMethods-PostProc'] []
= 'EXT:realurl/class.tx_realurl.php:&tx_realurl->decodeSpURL';
$TYPO3_CONF_VARS['SC_OPTIONS'] ['t3lib/class.t3lib_tcemain.php'] ['clearAllCache_additionalTables'] ['tx_realurl_urldecodecache']
= 'tx_realurl_urldecodecache';
$TYPO3_CONF_VARS['SC_OPTIONS'] ['t3lib/class.t3lib_tcemain.php'] ['clearAllCache_additionalTables'] ['tx_realurl_urlencodecache']
= 'tx_realurl_urlencodecache';
$TYPO3_CONF_VARS['FE'] ['addRootLineFields'] .=
',tx_realurl_pathsegment,alias,nav_title,title';
$TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['_DEFAULT'] = array(
'init' => array(
'enableCHashCache' => 1,
'enableUrlDecodeCache' => 1,
'enableUrlEncodeHash' => 1,
// 'postVarSet_failureMode' => 'redirect_goodUpperDir',
),
'rewrite' => array(
),
'preVars' => array(

array(
'GETvar' => 'L',
'valueMap' => array(
'en' => '0',
'de' => '1',
'valueDefault' => 'en',
),
'noMatch' => 'bypass',
),


),
'pagePath' => array(
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '-',
'languageGetVar' => 'L',
'expireDays' => 3,
'rootpage_id' => '1'
),
'fileName' => array (
'defaultToHTMLsuffixOnPrev' => 1,
'index' => array(
'page.html' => array(
'keyValues' => array (
'type' => 1,
),
),
),
),
'fixedPostVarSets' => array(
),
'postVarSets' => array(
'_DEFAULT' => array(
//archive
'period' => array (
array (
'condPrevValue' => -1,
'GETvar' => 'tx_ttnews[pS]',
//'valueMap => array()
),
array (
'GETvar' => 'tx_ttnews[pL]',
//'valueMap => array()
),

array (
'GETvar' => 'tx_ttnews[arc]',
'valueMap' => array(
'non-archived' => -1,
),
),
),

'browse' => array (
array (
'GETvar' => 'tx_ttnews[pointer]',
),
),
'select' => array (
array (
'GETvar' => 'tx_ttnews[cat]',
'lookUpTable' => array (
'table' => 'tt_news_cat',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause'=> 'AND NOT deleted',
'useUniqueCache'=> 1,
'useUniqueCache_conf' => array (
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
),
'article' => array(
array (
'GETvar' => 'tx_ttnews[backPid]',
// 'valueMap => array(
// ),
),
array (
'GETvar' => 'tx_ttnews[tt_news]',
'lookUpTable' => array (
'table' => 'tt_news',
'id_field' => 'uid',
'alias_field' => 'title',
'maxLength' => 12,
'addWhereClause'=> 'AND NOT deleted',
'useUniqueCache'=> 1,
'useUniqueCache_conf' => array (
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
),
## Für Linkliste
'action' => array(
array(
'GETvar' => 'tx_ablinklist_pi1[action]',
'valueMap' => array(
'show-category' => 'getviewcategory',
'propose-a-new-link' => 'getviewaddnewlink',
'open-link' => 'getviewclickedlink',
'show-details-for-link' => 'getviewdetailsforlink',
'report-broken-link' => 'getviewreportbrokenlink',
'rate-link' => 'getviewratelink',
),
),
),
'category' => array(
array(
'GETvar' => 'tx_ablinklist_pi1[category_uid]',
'valueMap' => array(
'home' => '0',
),
'lookUpTable' => array(
'table' => 'tx_ablinklist_category',
'id_field' => 'uid',
'alias_field' => 'label',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
),
'link' => array(
array(
'GETvar' => 'tx_ablinklist_pi1[uid]',
'lookUpTable' => array(
'table' => 'tx_ablinklist_link',
'id_field' => 'uid',
'alias_field' => 'label',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
array(
'GETvar' => 'cHash',
),
),
'pointer' => array(
array(
'GETvar' => 'tx_ablinklist_pi1[pointer]',
),
),
),
),
);


?>

Mehrere Domains mit RealURL

siehe dazu Mehrere Domains

Eine Art Bug

Ich hatte den folgenden Fehler (im Logfile)

Invalid database result resource detected: function t3lib_DB->sql_fetch_assoc called from file po3conf/ext/realurl/class.tx_realurl.php in line 1428.

Im HTML Sourcecode sah es folgendermassen aus:

<b>Warning</b>:  mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in <b>/xxx/htdocs/typo3_src-4.1/t3lib/class.t3lib_db.php</b> on line <b>1428</b><br />

Ich habe den Part überschrieben mit ## Für Linkliste von obigen Code entfernt... das war's!