5 votes

Récupérer le slash de fin de ligne dans ExpressionEngine 2 ?

Je viens de passer de l'EE 1 à l'EE 2 et j'ai du mal à faire face à certains changements. Par exemple, le fait qu'EE ne produise plus de barre oblique de fin de ligne sur ses urls met à mal un grand nombre de mes liens pour lesquels j'avais recours à des constructions telles que l'url générée par EE + un segment supplémentaire. Trouver et modifier tous les endroits où j'ai fait cela serait un petit cauchemar vu la taille et la configuration de mon site. Existe-t-il un moyen de modifier EE pour retrouver l'ancien comportement ?

6voto

Parscale Points 181

Pour certains, l'ajout de la barre oblique de fin mentionnée pourrait entraîner des conflits avec certains formulaires. L'ajout de ce qui suit pour vérifier si la requête est un GET pourrait être plus sûr.

# Add a trailing slash to paths without an extension
RewriteCond %{THE_REQUEST} ^GET
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule ^(.*)$ $1/ [L,R=301]

0voto

lealea Points 563

Il existe une solution .htaccess à ce problème, que j'ai utilisée sur mes anciens sites EE à cause de ce problème précis.

Ajouter la barre oblique de fin

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule ^(.*)$ $1/ [L,R=301]

Source : http://devot-ee.com/articles/item/simple-htaccess-for-expressionengine-sites

Cependant, comme il est présent par défaut dans EE2, vous pouvez faire l'OPPOSITION et supprimer la barre oblique de fin via le fichier .htaccess afin que vous n'ayez pas à ajouter/supprimer/quelque chose manuellement. Si vous optez pour cette solution, voici le code :

Supprimer la barre oblique de fin de ligne

RewriteCond %{HTTP_HOST} !^\.yoursite\.com$ [NC]
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]

Source : http://ee-spotlight.com/tips/a_standard_htaccess_file_with_expressionengine

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X