J'ai ce qui suit dans mon fichier .htaccess:
Options +FollowSymLinks RewriteEngine on RewriteRule ^directory/(.*)$ directory/index.php?id=$1
5 Réponses :
Vous devriez essayer d'ajouter une barre oblique à l'avant:
RewriteLogLevel 3 RewriteLog ${APACHE_LOG_DIR}/rewrite.log
Eh bien, c'est trié l'erreur de serveur, mais maintenant j'obtiens l'URL / l'URL requis / 10 n'a pas été trouvée sur ce serveur. CODE> Des idées?
Eh bien, maintenant, cela ressemble à la réécriture ne correspond pas.
Ajouter un réécritelog dans votre Vhost (les ne sont pas valides dans .htaccess) pour pointer vers le fichier journal que vous avez wang à écrire à. J'ai édité ma réponse avec un exemple.
Votre solution ne peut pas fonctionner car ReWrétraule ne correspond pas à la barre oblique de tête dans .htaccess.
Votre code est garanti de générer une erreur de 500 serveur interne car elle provoque une boucle infinie. La raison est que votre motif URI correspondant est le suivant: qui correspond à vos URL avant et après la réécriture. Et une fois qu'il a atteint Max permis de réécriture interne, la limite de réécriture interne, 500 erreurs de serveur internes et une erreur de serveur interne. P> modifie votre code à ceci: p> ci-dessus code a Un ^ Directory /(.*)$ code>
Extra
rewriteCond% {request_filename}! -f code> qui veillera à interdire l'exécution ultérieure de Rewriterule après la première fois depuis
/directory/index.php code> sera un fichier valide. p> p>
Je voulais juste ajouter que je n'ai pas réalisé que ma règle de réécriture se référencait également elle-même. Ajouter la condition de réécriture fixe le problème. Quelque chose d'évident mais facile à négliger.
J'ai le même problème et j'ai trouvé que le module "réécrire" n'est pas encore activé dans mon cas. Donc, j'ai besoin de le activer, puis de redémarrer Apache Server: P>
J'espère que cela aidera tout le monde. P>
Si vous utilisez un codeigniter et que vous utilisez des problèmes d'erreur 500. Suivez la solution.
afin de supprimer le segment "index.php" des URL dans le codeigniter, vous devez faire 2 choses. Le premier consiste à modifier le fichier le La deuxième étape consiste à créer un fichier et c'est tout! À partir de maintenant, les URL de votre site / système fabriquées avec CodeDigniter ne seront plus le fil (appelé "gênant" par certains) "index.php". P> p> /system/application/config/config.php code>, modification de la valeur de l'index_page pour vider: p>
.htaccess code> p>
Une autre journée à la recherche d'une étrange erreur sur Apache. Travailler sur My Docker Apache 2.4.48 Conteneur alpin. Mais pas en production.
Voici la différence (juste un point): p>
ne fonctionne pas sur le fournisseur d'hébergement p> travail sur le fournisseur d'hébergement < / p>
Une erreur 500 signifie généralement une erreur a été enregistrée quelque part. Recherchez vos journaux d'erreur Apache et PHP et voyez quelle est l'erreur réelle.
L'erreur 500 livrée sur le navigateur aurait dû vous informer que le message d'erreur complet serait dans les journaux du serveur. Lis-les.