MeatballWiki |
RecentChanges |
Random Page |
Indices |
Categories
Cette page a démarré sur PageRedirect
Quelques pages Meatball ou CommunityWiki sont des liens étranges de redirection vers d'autres pages.
Voir UseMod:PageRedirect pour plus de détails en anglais.
Quelques conséquences:
- Une modification vers une page peut s'afficher comme une modification vers une autre. Voir TransclusionInvolontaire pour en savoir plus à ce sujet.
- Les modifications vers la page changeront véritablement la page redirigée. Ainsi si quelqu'un "efface" votre page en ajoutant un tag de redirection en haut, vous pouvez ne pas savoir comment résoudre le moyen de le remettre à nouveau.
- Une recherche sur "redirect" affichera les pages qui ne contiennent apparemment pas le mot (ce qui est ce que j'ai trouvé quand j'ai essayé de chercher la fonctionnalité.)
Une RedirectionPage peut être une page échantillon qui est redirigée. Si ce l'était, pour défaire la redirection, vous saisiriez simplement la ligne de commande :
http://meatballwiki.org/wiki/action=edit&id=RedirectionPage
Ou plus facilement, modifiez n'importe quelle page, puis modifiez l'ID dans l'URL vers la page désirée.
Ainsi, si vous désirez butiner la vielle page, vous pouvez saisir : http://meatballwiki.org/wiki/action=rebrowse&id=RedirectionPage
Ces exemples fonctionnent désormais. Le caractère "#" pour des fonctionnalités comme "#REDIRECT" pourrait se modifier dans le futur (parce que "#" est maintenant utilisé pour les listes numérotées).
Utilisez un bang !!! à la place.
Même mieux, utilisez un symbole @. Format = fonction, fonction = format. Ainsi la largeur de caractère d'un @ comparée à un ! veut dire qu'il ne disparaîtra pas dans la marge gauche.
Pourquoi pas simplement PageRedirect ? Comparez avec l'utilisation de DeletedPage.
- J'ai écrit le code #REDIRECT code, et je n'aime pas utiliser les pages noms pour des fonctions internes. SunirShah aime vraiment les pages noms, et il a écrit le code d'effacement page. Je n'ai pas l'intention de changer cela dans le code pour UseModWiki 1.1, et je ne prévois pas quelques futures mises à jour après la 1.1. -- CliffordAdams
[19 juin 2000] Meatball/
UseModWiki a été modifié pour ajouter un petit avertissement au-dessus du titre quand la page est redirigée. (dit parce que "l'action" est "rebrowse".) Ceci rend les redirections beaucoup plus évidentes. La discussion qui a provoqué ça est ci-dessous :
- Redirect from another page - ne serait il pas plus cool si ça nous disait quelle page ? Avec un lien arrière, ça ne redirigerait pas ? -- DaveHarris
- Je pense que je peux faire ça. Le code de redirection devenait un peu cradingue de toute façon, et je pense que je vois comment faire ceci et nettoyer un peu ça. (Le "rebrowse" ne devrait pas être une action séparée -- il devrait être juste un autre paramètre pour l'action de browser. L'ID de la vieille page peut être passée comme un autre paramètre.) -- CliffordAdams
- Si tu cliques sur ColorBlind, et puis sur le titre de la page résultante, MeatballWikiSuggestions ne sera pas trouvé parmis les rétroliens listés. Est-ce que ça te soucie ? (voir aussi mon commentaire sur FeatureKarma.) -- DaveHarris
- Cela ne me dérange pas. La page Colour.... n'est pas référencée par MeatballWikiSuggestions. Cela ne me dérangerait pas que quelqu'un corrige tous les liens néanmoins. Bien sûr, la vraie solution est d'utiliser the "One True American Spelling". ;-) --CliffordAdams
Plus à partir de MeatballWikiSuggestions...
- Instead of streaming the page after a successful edit, send a "Location: http://meatballwiki.org/wiki/PageName\n\n" (HTTP referral) so that the interface (URL) is consistent. The user will be able to refresh, bookmark, etc. safely.
Does anyone know if there are any common browsers that do not recognize the Location: header? I would like to test the redirection pages with such a browser. (After the redirect header I added a short explanation with a normal link to the target.)
- All browsers must recognize this header or they will break badly on normal operation on the 'net.
Unfortunately, one nasty byproduct of Location-style redirections is that the script needs to know its absolute URL. Not a showstopper, but it introduces a possible configuration error.
- Isn't this available in the environment? And you can also use relative URLs like http:mb.pl
- After reading more of the CGI.pm documentation, it looks like the absolute URL is available. Unfortunately, I've seen warnings in more than one place that relative URLs don't always work in the Location header. I might still keep the option, just in case one has some kind of complex setup. (I imagine one might have problems if one uses a virtual host and is visited by an ancient browser.)
- The code which generates URLs is pretty ugly right now (0.87-test). I hope to refactor a lot of it the next time I clean up the code. (I usually add a "burst" of features, then do a "cleanup pass" over the whole script.) --CliffordAdams
I made the standard UseModWiki check for a default value, and do redirections the old way if so.
I've also changed the #REDIRECT directive to use Location-style redirections. It was a bit tricky since I also avoid redirection loops.
''Looking good; though the location for browsing should be the plain vanilla script?PageName? not script?action=browse&id=PageName?'
The location of any page should be script?PageName? except when:
- Options are used, like diff=1. In this case I use the full "action=browse&id=PageName?&option=value..."
- The page is the target of a redirection. In this case I use "action=rebrowse" to break loops. (You could also use "rebrowse" to view redirected pages.)
Now I'm wondering if you need to use rebrowse. Can't you just use the referal URL to tell where you're coming from. But then again, things like JunkBuster? break ClickStream?s. Oh well. -- SunirShah
- When working with redirection, I don't want to trust the browser to do anything special. Redirection loops are a possibility unless the target URLs are different than an ordinary browsing URL. (This is especially bad if a robot gets caught in the loop--it can become an effective DoS attack.) I'm still considering eliminating rebrowse, and replacing it with an "oldid" parameter (which would also contain the old page name). --CliffordAdams
Mettez cela en perpective avec CommunityWiki:AncrePermanente et CommunityWiki:AliasPage
PageTranslation LangueFrançaise PageRedirect
DossierTechnologieWiki