Comment masquer le changement d'URL lors de l'utilisation de réécriture apache?
Comment puis-je cacher le changement d'URL lors de l'utilisation d'une réécriture apache? J'ai cherché pendant des heures sur ce problème et ont décidé de venir ici pour trouver la réponse. Ainsi, toute aide/indices serait grandement apprécié!
Droit maintenant, je suis en utilisant:
RewriteRule ^/Page/(.*)$ http://domain.com/page.cfm?pagevar=$1 [NC,L]
Le problème est, quand vous allez naviguer à http://domain.com/Page/abc123
il fonctionne. MAIS, il modifie l'adresse url du navigateur pour
http://domain.com/page.cfm?pagevar=abc123
,
Je le veux pour effectuer la même action, mais de montrer http://domain.com/Page/abc123 que l'url.
S'il vous plaît, toute réflexion sur ce serait très apprécié!
Merci encore.
OriginalL'auteur cEMa | 2013-09-06
Vous devez vous connecter pour publier un commentaire.
Première règle de redirection de votre URL brute à la jolie URL format.
Deuxième règle de rediriger retour pour l'utilisateur ne voit pas l'URL brute.
Les règles ci-dessus sont utilisés pour les
.htaccess
fichiers et supposepage.cfm
est à la racine de votre domaine dossier avec le.htaccess
fichier.Comme vos exemples propose.
QSA
drapeau dans la dernièreRewriteRule
merci, j'ai réfléchi à cela, mais qui ne s'applique que si, effectivement, il veulent toutes les chaînes de requête effectuée au nouveau format d'URL.
Oui d'accord, mais vous ne savez jamais réécrire ces exigences. Mais oui, l'OP n'a pas mentionné à propos de cette condition.
Merci pour cette rapide réponse! Comme j'avais peur de.. lors de l'utilisation:
RewriteBase /
il provoque les serveurs à paniquer quand j'essaye d'exécuterapachectl restart
. Est-il nécessaire pourRewriteRule ^Page/(.*)/?$ /page.cfm?pagevar=$1 [QSA,NC,L]
de travail? Edit: le serveur lanceRewriteBase: only valid in per-directory config files
lors de l'exécution deapachectl restart
.Comme je l'ai mentionné, vous n'avez pas besoin de place que sur le virtualhost vous place que sur un .htaccess à la racine du dossier de ce domaine.
OriginalL'auteur Prix
Vous avez besoin de se débarrasser de la
http://domain.com
partie de la règle de la cible. Lorsque vous avez fait cela, il implicity redirige le navigateur à la place de l'interne de réécriture:OriginalL'auteur Jon Lin