J'essaie de créer un raccourpateur d'URL et je souhaite pouvoir prendre des caractères immédiatement après le domaine et les avoir transmis comme une URL variable. Donc, par exemple
deviendrait p>
Voici ce que j'ai pour mod_rewrite en ce moment, mais je continue à obtenir une demande de 400 mauvaises: p>
6 Réponses :
Essayez-le sans utiliser en utilisant Rewritecond code>. P>
Ces deux réécritecond code> sont pour vous assurer que les fichiers et les dossiers qui n'existent vraiment pas ne sont pas réécrites. Par exemple
http://example.com/images/logo.png code> ne sera pas réécrit si cette image existe.
@Rocket Bon à savoir pour une référence future. Je travaillais juste avec les informations que j'ai données.
Essayez de remplacer edit: essayez de remplacer ^ (. *) code> avec
^ (. *) $ code>
index .php code> avec
/index.php code> p>
Je lui ai donné un coup de feu, mais obtenez toujours la 400 mauvaise demande. Regarder à travers les journaux maintenant, mais je ne peux pas sembler trouver quoi que ce soit de valeur
@Bswinnerton: essayez d'ajouter un / code> avant
index.php code>. Vérifiez ma réponse mise à jour.
D'accord, donc je ne reçois plus l'erreur, mais cela ne redirige pas d'URL = ASDF lorsque je saisis / asdf = /
@Bswinnerton: Qu'est-ce que signifie "quand je tape in / asdf"? Quelle est l'URL que vous essayez de charger?
Par exemple, si je tape google.com/astdf, il redevient simplement à Google.com au lieu de Google.com/?url=ASDF
S'appuyant sur cela, je pense que cela pourrait avoir quelque chose à voir avec mon code source. Merci pour l'aide!
Vérifiez sous des modules Apache et assurez-vous que le module de réécriture est activé. J'ai eu un problème similaire et il a été résolu en activant le module de réécriture. P>
Quelle utilisation doit-elle répondre à une superbe question qui a déjà été répondue à b>?
En fait, cela a résolu mon problème après 2 heures de recherche, je ne suis pas un programmeur PHP, mais je l'utilise parfois sur mon site Web.
Bytheway n'oublie pas d'activer la réécriture mod, dans Apache sur Ubuntu , puis redémarrez Apache2 p> éditer: il est une vieille question qui m'a aidé mais j'ai perdu des heures testant mon fichier Apache2.conf sur un côté et un fichier .htaccess de l'autre côté et toujours pas de lumière. P> P>
Pour réécrire toutes les demandes de la réécritère /index.php code>, vous pouvez utiliser:
réécritecond% {request_uri}! ^ / index. PHP $ code> est important car il exclut la destination de réécriture que nous réécrivons et empêche l'erreur de boucle infinie. P> P>
Dans le dossier-cadre Créez un fichier .htaccess avec le contenu suivant
<?php echo $_GET['url']; ?>
Recherchez dans le
error.log code> pour la raison d'erreur réelle. Sinon, configurez le
rewritelog code>
Dupliqué possible de Réécrire de mod simple
-1: Plus de débogage requis; Voir le commentaire de @ Mario.
Avant que tout ne soit une bonne idée, ajoutez la directive RewriteBase. Deuxièmement, le serveur permet de mod_rewrite?