Sans avoir un rewriter url tels que ISAPI_Rewrite disponible, est-il possible d'atteindre les objectifs suivants:Puis-je avoir une URL 'conviviale' sans un réécriteur d'URL dans IIS?
Je voudrais un utilisateur à accéder http://www.jjj.com/directory
où /directory
n'existe pas réellement. IIS transfère l'utilisateur à not-found.cfm
.
A ce stade, je peux servir index.cfm
, c'est-à-dire http://www.jjj.com/directory/index.cfm
.
L'URL s'affichera correctement et la page se chargera même si le répertoire ou index.cfm
n'existe pas. Cependant, je voudrais être en mesure de ne pas avoir index.cfm
dans l'URL.
Idéal:
page Demande de
http://www.jjj.com/directory
charge IIS
not-found.cfm
par défaut404
ErrorHandler.Non trouvé supprime
CGI.query_string
et utilisecfswitches
pour canaliser l'utilisateur vers la fonction de contrôleur appropriée. Peut utiliseronMissingTemplate
?La demande de page ne change jamais dans l'URL et la page se charge de manière transparente l'utilisateur avec
200 OK
étatSi un utilisateur demande
http://www.jjj.com/directory/index.cfm
je301
rediriger vershttp://www.jjj.com/directory
actuelle:
page Demande de
http://www.jjj.com/directory
charge IIS
not-found.cfm
comme gestionnaire d'erreur par défaut404
.Non trouvé supprime
CGI.query_string
et utilisecfswitches
pour canaliser l'utilisateur vers la fonction de contrôleur appropriée.La demande des modifications à la page
http://www.jjj.com/directory/index.cfm
avec un statut200 OK
Dans votre flux "Actuel", à l'étape "Pas trouvé ...", faites-vous une redirection en utilisant CFLOCATION ou une autre méthode? –
J'utilise une cflocation avec un statuscode de 301. J'ai joué avec cfincludes et cfheaders, mais je ne pensais pas que c'était la bonne direction. Je devrais aussi ajouter que cfincludes fonctionnait très bien, cela semblait être une mauvaise façon de le faire parce que c'était une façon de briser la demande normale. –
Voici le modèle cfinclude Demande-> not-found.cfm-> Bande query_string pour trouver la requête et mettre des paires de valeurs de nom dans une variable de contexte de requête-> utiliser cfinclude et la vue utilise la variable de contexte de requête au lieu de l'URL/variables de formulaire (le cas échéant). –