realurl
Installation
Installieren der Extension Real URL wie üblich.
Setup
In der Extension kann man automatische Konfiguration wählen, das funktioniert inzwischen ganz gut und reicht meist völlig aus. Wie man die manuelle Konfiguration vornimmt siehe weiter unten unter Manuelle Konfiguration.
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
Manuelle Konfiguration
In der Extension Konfiguration folgendes eintragen
Path to configuration file: typo3conf/realurl_conf.php
Editiere typo3conf/realurl_conf.php und füge folgenden Code ein:
<?php
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']=array (
'www.typo3-nürnberg.de' =>
array (
'init' =>
array (
'enableCHashCache' => true,
'appendMissingSlash' => 'ifNotFile,redirect',
'adminJumpToBackend' => true,
'enableUrlDecodeCache' => true,
'enableUrlEncodeCache' => true,
'emptyUrlReturnValue' => '/',
),
'pagePath' =>
array (
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '-',
'languageGetVar' => 'L',
'rootpage_id' => '438',
),
'fileName' =>
array (
'defaultToHTMLsuffixOnPrev' => 0,
'acceptHTMLsuffix' => 1,
'index' =>
array (
'print' =>
array (
'keyValues' =>
array (
'type' => 98,
),
),
),
),
),
);
?>
Mehrere Domains mit RealURL
siehe dazu Mehrere Domains.
Doppelter Content
Mit RealUrl kann eine Seite aufgerufen werden als
Das führt zu doppelten Content. Mittels .htaccess lässt sich dies vermeiden:
# ----------------------------------------------------------------------
# Rsys: no double content, rewrite /name, /name/, /name.htm to name.html
# ----------------------------------------------------------------------
RewriteRule ^(.*)\.htm$ $1.html [L,R=301]
RewriteRule ^(.*)\/$ $1.html [L,R=301]
Oder eben Canonical Tags verwenden, das sollte zumindest für die Suchmaschinen hinreichend sein.