Impossible de redirect l’URL contient% 00

Je veux redirect une URL contenant des symboles et des chiffres, des caractères vers une autre URL et … l’URL contenant %00 à la fin doit être redirigée vers une autre URL.

Exemple:

www.example.com/asdnsadnas%00 redirige vers une autre URL .

%00 n’est pas accepté dans l’URL de redirection, aidez-moi s’il vous plaît.

La manière dont vous gérez cela dépend de ce que vous entendez par «autres symboles et chiffres» et où se trouvent ces URL.

Étant donné que le modèle RewriteRule correspond au chemin d’access URL% -decoded et que %00 est NULL, alors intercepter %00 dans le chemin URL que vous pouvez essayer de faire correspondre à THE_REQUEST , qui contient la première ligne brute de la requête (qui n’est pas% – décodé).

www.example.com/asdnsadnas%00 redirige vers une autre URL .

Par exemple, essayez ce qui suit en haut de votre fichier racine .htaccess :

 RewriteCond %{THE_REQUEST} ^[AZ]{3,9}\ /asdnsadnas%00\ HTTP RewriteRule ^asdnsadnas /another-url [R,L] 

Le modèle RewriteRule vérifie simplement la première partie de l’URL, jusqu’au %00 .

Si vous vouliez simplement redirect /asdnsadnas et simplement ignorer tout ce qui suit ce URL-chemin, vous n’avez pas besoin de vérifier explicitement %00 , vous pouvez donc supprimer la directive RewriteCond .


www.example.com.nz/XYZABC%00 doit redirect vers www.example.com.nz/insurance-hub-page/xsserror/ XYZABC – n’importe quelle lettre ou symboles, etc., mais j’ai besoin d’une URL à la fin %00 besoin de redirect vers une autre URL.

(Je suppose que l’ espace dans l’URL cible est juste une faute de frappe?)

Dans ce cas, vous n’avez pas nécessairement besoin de faire correspondre %00 (un “caractère” que vous ne voulez pas). Juste être précis sur les caractères que vous voulez faire correspondre (qui est susceptible d’être un sous-ensemble plus petit).

Par exemple, les éléments suivants redirectaient /XYZABC vers /insurance-hub-page/xsserror/XYZABC . Le %00 est ignoré.

 RewriteRule ^(\w+) /insurance-hub-page/xsserror/$1 [R,L] 

… mais j’ai besoin de n’importe quelle URL à la fin %00 besoin de redirect vers une autre URL.

Vous ne savez pas ce que vous entendez par là?

Si l’URL contient des caractères ou des symboles spéciaux, vous devez redirect vers une autre URL. Exemple: www.example.com/%28dsajkd%20nkasd%20daskdasj%00

Vous pouvez simplement vérifier si l’URL demandée contient des caractères codés en%, ce qui semble correspondre à votre exemple:

 RewriteCond %{THE_REQUEST} % RewriteRule ^ /another-url [R,L]