Ich versuche, eine PHP-Site portiert von einem anderen Coder (wer ist nicht mehr in der Nähe) zu portieren, und ich habe ein Problem mit den Apache Rewrite Regeln, die eine Datei herunterladen auf dem Zielserver aufgefordert . Ich bin mir sicher, dass dies ein einfaches Problem ist, aber ich habe Schwierigkeiten, eine Antwort zu googeln. Ich laufe auf einem (dedizierten) Ubuntu Server mit einer Standardinstallation von Apache und PHP5 und portiere von einem gemeinsam genutzten Server, auf dem alles gut läuft. Während des Ports wurden keine Site-Dateien geändert.Apache Rewrite Regel zwingt Download
Die .htaccess-Datei enthält den Code (nur)
# 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
Wenn ich versuche, die Datei zu öffnen http://www.mysite.com/html/#home der Browser des (index.php) Datei anstatt sie anzuzeigen, mit der Meldung zum Download versucht
"Sie haben zu öffnen gewählt [Dialog hier Leerzeichen zeigt]
welches ein: application/x-httpd-php aus .... "
Ich denke, ich muss etwas in der PHP-oder Apache-Konfiguration verpasst haben, aber was?
EDIT: Um zu verdeutlichen, der Server läuft Apache2 und hat mehrere, funktionierende, PHP-Sites auf ihm. Außerdem, wenn ich die .htaccess-Datei lösche und eine einfache phpinfo-Anzeigeseite ausführe, läuft alles gut, also ist es nicht die Ausführung von PHP per se.
Dies ist wahrscheinlich nicht die Ursache Ihres Problems. Aber wenn Sie nur eine Gruppe in Ihrem Muster haben, könnten Sie nur eine Übereinstimmung haben und somit nur $ 1 (neben den $ 0 für das ganze Spiel) verwenden. Und Sie müssen dem '/' weder im Muster noch im Substitutionsteil entkommen. – Gumbo
Oh, nur ein weiterer Gedanke: Ich hoffe, jemand kann keine Administratorrechte erlangen, indem er der URL nur 'admin = true' hinzufügt. – Gumbo
Heh. Dies ist nur einer von einer Reihe von Websites, die ich übernommen habe und zu sagen, dass sie mit Problemen überschwemmt sind, ist eine Untertreibung. Admin hinzufügen würde nicht funktionieren, aber es gibt viele andere Löcher – Cruachan