9
votes

RewriteRule qui conserve des paramètres

Quel est ce qui ne va pas avec cette règle de réécriture? xxx

je veux simplement "index.php? url =" à ajouter après API / et avant le reste des paramètres d'obtention. xxx

à xxx

Qu'est-ce qui ne va pas avec (. +) pour tout obtenir après API /? p>


2 commentaires

^ API / ([a-za-z0-9 / _ \ & \ = \ = \%] +) $ fonctionne mais ne fonctionnera pas avec des caractères spécifiques de langage différents comme Åäöøæé et ainsi de suite ... c'est pourquoi je voudrais ^ API /(.+)$ pour travailler à la place. . Devrait signifier n'importe quel personnage, sauf la rupture de ligne ou la fin de la chaîne, donc je ne l'obtiens pas pourquoi cela ne fonctionne pas.


Dupliqué possible de Gardez les paramètres URL avec la réécriture HTACCESS


3 Réponses :


0
votes

Faites-vous quelque chose pour arrêter la récursion infinie?

 RewriteRule ^api/(.+)$ api/index.php?url=$1 [R=301,L]


4 commentaires

J'avais [L] avant mais cela ne fait pas de diffrence. Mon problème est que Apache2 signale que le seul paramètre GET est [URL] => index.php, tous les autres paramètres sont partis et que le paramètre URL doit être "Image / Téléchargement". Lorsque j'utilise la règle ^ API / ([A-ZA-Z0-9 / _] +) $ Au lieu de cela, le paramètre URL est "image / téléchargement" mais je perds tous les autres paramètres d'obtention.


Je n'essaie pas d'essayer de faire une redirection, obtenez simplement le texte entre API / et avant la première et pour obtenir la chaîne préfixée par "index.php? Url =" et le reste des paramètres d'obtention préservés


Comment fonctionne ici r = 301 ici? Ce n'est pas dans les docs de httpd.apache.org/docs/2.0/mod /mod_rewrite.html


Recherchez "'Redirect | r [= code]' (Force Redirect)" sur cette page. C'est si vous souhaitez spécifier le code de réponse HTTP exact pour la redirection.



0
votes

Je pense que vous devez écrire votre nom de domaine avant le truc de REGEX. Comme ceci: xxx


0 commentaires