J'essaye de porter un site PHP développé par un autre codeur (qui n'est plus là) et j'ai un problème avec les règles d'Apache Rewrite qui demandent un téléchargement de fichier sur le serveur cible . Je suis sûr que c'est un problème simple, mais j'ai de la difficulté à googler une réponse. Je cours sur un serveur Ubuntu (dédié) avec une installation standard d'Apache et de PHP5 et le portage depuis partagé un serveur partagé où tout fonctionne bien. Aucun fichier de site n'a été modifié pendant le port.La règle de réécriture d'Apache force le téléchargement
Le fichier .htaccess contient ce code (seulement)
# Use PHP5 as default AddHandler application/x-httpd-php5 .php Options -Indexes FollowSymlinks RewriteEngine on RewriteRule ^html/(.*) /index.php?init=site\/$1\/$2\/$3\/$4\/$5\/$6\/$7\/$8\/$9 RewriteRule ^mykart$ /index.php?admin=true RewriteRule ^mykart/$ /index.php?admin=true RewriteRule ^mykart/(.*)$ /index.php?init=admin\/$1\/$2\/$3\/$4\/$5\/$6\/$7\/$8\/$9&admin=true
Lorsque je tente d'ouvrir le fichier http://www.mysite.com/html/#home le navigateur tente de télécharger le fichier (index.php) au lieu de l'afficher, avec le message
"Vous avez choisi d'ouvrir [boîte de dialogue affiche l'espace vide ici]
qui est une application/x-httpd-php de .... "
Je suppose que j'ai dû manquer quelque chose dans la configuration PHP ou Apache, mais quoi?
EDIT: Pour clarifier, le serveur exécute Apache2 et a plusieurs sites PHP fonctionnels. De plus, si je supprime le fichier .htaccess et que j'exécute une simple page d'affichage de phpinfo tout va bien, donc ce n'est pas l'exécution de PHP par voir.
Ce n'est probablement pas la cause de votre problème. Mais si vous avez juste un groupe dans votre modèle, vous pourriez juste avoir un match et ainsi seulement utiliser $ 1 (à part le $ 0 pour le match entier). Et vous n'avez pas besoin d'échapper '/', ni dans le motif, ni dans la partie de substitution. – Gumbo
Oh, juste une autre pensée: J'espère que quelqu'un ne peut pas obtenir des privilèges d'administrateur en ajoutant simplement 'admin = true' à l'URL. – Gumbo
Heh. Ce n'est qu'une partie d'une série de sites que j'ai pris en charge et dire qu'ils sont en proie à des problèmes est un euphémisme. Ajout d'admin ne fonctionnerait pas, mais il y a beaucoup d'autres trous – Cruachan