Je viens de passer de EE 1 à EE 2 et je suis aux prises avec certains des changements. Par exemple, le fait que EE ne produise plus de barre oblique finale sur ses URLs fait un gâchis de beaucoup de mes liens où j'avais dépendu de constructions comme EE généré url + segment supplémentaire. Trouver et éditer tous les endroits où j'ai fait cela serait un petit cauchemar compte tenu de la taille et de la configuration de mon site. Existe-t-il un moyen de pirater EE pour récupérer l'ancien comportement?Récupérer la barre oblique finale dans ExpressionEngine 2?
Répondre
Il existe une solution .htaccess à cela, que j'ai utilisé dans mes anciens sites EE à cause de ce problème exactement.
Ajouter slash
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, étant donné qu'il est là par défaut dans EE2, vous voudrez peut-être faire le contraire et enlever la barre oblique par .htaccess vous n'avez donc pas à ajouter/supprimer/quoi que ce soit manuellement. Si vous décidez que, voici le code:
Supprimer slash
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
Le problème n'est pas tellement à la fin des URL, malheureusement, c'est quand je me retrouve avec une barre oblique finale manquante à l'intérieur d'une URL. J'ai posté un exemple dans un commentaire précédent qui, je l'espère, illustre ce que je veux dire. La solution .htaccess semble idéale pour normaliser la fin des URL pour avoir ou non une barre oblique, mais il ne semble pas qu'elle puisse résoudre les barres obliques manquantes dans les URL. –
Pour certains l'ajout de slash mentionné pourrait provoquer des conflits avec certaines formes. 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]
J'ai finalement eu le temps de tester cela et je suis un peu mystifié sur la façon dont cela fonctionne réellement. Avec cela ajouté à mon. Htaccess, si je clique sur un lien sur une de mes pages, la nouvelle page se charge toujours sans une barre oblique. –
- 1. preg_match barre oblique finale
- 2. Suppression d'une barre oblique finale
- 3. mod_rewrite .htaccess avec barre oblique finale
- 4. Angular2 conserve/ajoute une barre oblique finale
- 5. Comment supprimer une barre oblique finale?
- 6. Supprimer barre oblique initiale et finale/
- 7. avec et sans barre oblique finale
- 8. Comment faire pour wget sur le site Web avec la barre oblique finale, et enregistrer comme aucune barre oblique finale
- 9. Comportement de barre oblique finale dans les rails Application
- 10. ASP.NET MVC + IIS7 + FireFox: barre oblique finale dans l'URL
- 11. Supprimer la barre oblique finale de l'entrée du fichier batch
- 12. PHP - Obtenir l'URL et supprimer la barre oblique finale
- 13. Ajouter une barre oblique finale pour l'application MVC
- 14. Paramètre d'application Facebook: URL du site sans barre oblique finale
- 15. format d'URL compatible catalyseur avec barre oblique finale
- 16. httpd RewriteRule n'ajoute pas de barre oblique finale
- 17. Ajouter une barre oblique finale à l'URL à l'aide d'Apache
- 18. Réécrire les longues URLs pour avoir une barre oblique finale
- 19. Suppression de la barre oblique finale et de l'extension php/html. Le scénario de barre oblique finale ne parvient pas à supprimer l'extension
- 20. .htaccess RewriteRule modifie l'adresse de la barre d'adresse lorsqu'il n'y a pas de barre oblique finale
- 21. sous-domaine .htaccess dans le répertoire: problème avec la barre oblique finale
- 22. Expression régulière pour récupérer tout avant la première barre oblique
- 23. Valider la barre oblique
- 24. Comment remplacer la barre oblique inverse '\' par une barre oblique '/'?
- 25. Navigation dynamique dans ExpressionEngine 2
- 26. .htaccess Réécriture dans le répertoire - Masquer l'extension PHP et forcer la barre oblique finale
- 27. Règle htaccess pour supprimer la barre oblique finale sauf dans un répertoire
- 28. Utiliser la barre oblique dans la variable
- 29. barre oblique et barre oblique inverse dans Ruby
- 30. Que fait "//" (barre oblique, barre oblique) dans un chemin PHP?
pouvez-vous expliquer un peu plus "constructions comme EE généré url + segment supplémentaire"? – GDmac
Par exemple, j'ai rencontré un problème avec un modèle dans lequel j'utilisais le module Tags et j'avais besoin de configurer un lien comme celui-ci: "{path = 'Characters/Season'}/{websafe_tag} /". A l'origine, je n'avais pas besoin du/before {websafe_tag} car la première partie de l'URL était générée avec une barre oblique. J'ai donc dépendu de cela dans beaucoup de cas. –
On dirait que {path =} et {url_title_path} s'appuient sur '$ this-> EE-> functions-> create_url ($ path)', ce qui pourrait être un endroit pour hacher une barre oblique supplémentaire. Cependant, je recommanderais une recherche et remplacez dans les modèles ci-dessus le noyau de piratage EE. – GDmac