Configuration de RealURL (suite)
2. Cas concret
Mon site en local est appelé typo3.devlocal.com
Voici le contenu de mon fichier de configuration du vhost :
<VirtualHost *>
ServerName typo3.devlocal.com
DocumentRoot "/var/www/typo3"
AddHandler x-httpd-php5 .php
Action x-httpd-php5 /cgi-bin/php5
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/typo3>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
# Uncomment this directive is you want to see apache2's
# default start page (in /apache2-default) when you go to /
#RedirectMatch ^/$ /apache2-default/
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/typo3.devlocal.com/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/typo3.devlocal.com/access.log combined
ServerSignature On
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
Explications
Comme vous le constatez, 'AllowOverride All' est présent. A partir d'ici, j'ai deux solutions. Soit, je place les lignes suivantes dans mon Virtuel Host, sous la ligne 'Action x-httpd-php5 /cgi-bin/php5', soit j'ajoute dans la racine de mon serveur un fichier .htaccess avec le contenu :
RewriteEngine On
RewriteRule ^/typo3$ - [L]
RewriteRule ^/typo3/.*$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* /index.php
Par souci de commodité, je préfère l'ajout d'un .htaccess
On pourrait penser que la configuration est terminée... Et bien non ! RealURL utilise également son propre fichier de configuration. Ce dernier nous permettra de personnaliser au mieux notre réecriture.
IV - Configuration de RealURL
La configuration de RealURL est située dans un fichier que nous appelerons conf_realurl.php. Voici son contenu :
Voici une ligne très importante :
$TYPO3_CONF_VARS['EXTCONF']['realurl']['typo3.devlocal.com']['pagePath']['rootpage_id'] = 29;
Pour le domaine typo3.devlocal.com, je défini la page root de mon site, soit l'id 29. Vérifiez que cette information soit correcte dans votre configuration. Dans le cas contraire, vous arriverez sur une page 404 non trouvée.
Le fichier conf_realurl.php doit être ajouté à la configuration de TYPO3. Pour cela, ajoutez la ligne suivante dans le fichier localconf.php
// Include RealURL configuration
require_once('conf_realurl.php');
Le fichier conf_realurl.php doit donc être enregistré dans le même répertoire que localconf.php (/typo3conf/)
La configuration de RealURL permet de décoder une url réécrite en identifiant les paramètres dynamiques.
Imaginons une url suivante :
index.php?id=123&type=1&L=1&tx_mininews[mode]=1&tx_mininews[showUid]=456
L'url réecrite : dk/123/news/list/456/page.html
Comme vous le constatez, les paramètres sont séparés par des slashes. Le système doit être capable de décoder une urls réecrite pour en extraire les paramètres tels qu'ils auraient été passés sans réecriture. Pour comprendre ce processus, il faut connaître la composition des urls réecrites :
[TYPO3_SITE_URL] [preVars] [pagePath] [fixedPostVars] [postVarSets] [fileName]
[TYPO3_SITE_URL] est le paramètre config.baseURL dans un gabarit TYPO3.
Les derniers articles à consulter :
Afficher une page 404
Comment créér une page non trouvée (404) sous TYPO3
TYPO3 et le e-Commerce (1ère partie)
Quelle extension utiliser pour faire du e-Commerce avec TYPO3 ?
Felogin, la newloginbox intégrée (TYPO3 v 4.2)
Felogin remplace l'extension newloginbox et offre la possibilité d'offrir une boite de connexion pour protéger l'accès à certaines pages.