2017-07-14 2 views
0

J'essaie de supprimer une partie de l'uri dynamique d'Apache, j'ai essayé différentes règles de réécriture mais je n'ai rien obtenu.J'ai pu nettoyer l'URL en utilisant la chaîne de requête, mais supprime quoi que ce soit après l'accès. partie pour l'application de travailler.Supprimer la chaîne de requête dynamique d'Apache

accessdenied? Groupe = test & oam_res = ce qui vient après & oam_res doit être retiré, s'il vous plaît, aidez-nous.

Répondre

0

La question est un peu vague, mais je suppose que cela va vous diriger dans la bonne direction:

RewriteEngine on 
RewriteCond %{QUERY_STRING} ^([^&]*&)*oam_res= 
RewriteRule ^/?accessdenied$ /accessdenied?%1 [R=301] 

Notez que cette implémente une redirection externe , il modifie l'URL visible dans la client (navigateur). Si vous voulez seulement faire une réécriture interne alors vous devez remplacer le drapeau [R=301] par le drapeau [L].

Pour que cela fonctionne, il est évident que le module de réécriture doit être installé, chargé et activé sur votre serveur http. Si vous souhaitez utiliser un fichier de configuration dynamique (.htaccess), vous devez également activer son interprétation à l'aide de la directive AllowOverride. Mais vous devriez toujours préférer placer ces règles dans la configuration de l'hôte des serveurs http (virtuels) au lieu d'utiliser des fichiers de configuration dynamiques (fichiers de style .htaccess). Ces fichiers sont notoirement sujettes aux erreurs, difficiles à déboguer et ils ralentissent vraiment le serveur. Ils sont seulement supportés comme une dernière option pour les situations où vous n'avez pas de contrôle sur la configuration de l'hôte (lisez: les fournisseurs de services d'hébergement vraiment bon marché) ou si vous avez une application qui repose sur l'écriture de ses propres règles de réécriture).

+0

Merci askascha, ci-dessus la règle a travaillé. – Rakesh