Frage

mein Kohana Projektes zu meinem GoDaddy-Server Nach dem Hochladen, bemerkte ich meinen Standard .htaccess-Datei ausreichend funktioniert nicht die saubere URLs zur Verfügung zu stellen. Nach einiger Führung endete ich mit folgenden Regel auf:

RewriteRule .* index.php?kohana_uri=$0 [PT,L]

Das hätte meinen nice-URLs, wieder zu arbeiten, aber heute habe ich erfahren, dass es kann meine interne Suchmaschine, bricht die nutzen auch Variablen-Stil GET:

/search?terms=php

Die Werte werden nicht von den Skripten gefunden werden. Sie sind auf meinem Entwicklungs-Server, die nicht das modifizierte RewriteRule haben, aber nicht auf dem GoDaddy-Server, der die RewriteRule nicht verwendet.

Bin ich richtig in der Annahme, dass die Regel ist jede Skripte Fähigkeit von $ _GET zu lesen brechen, und wenn ja, wie kann ich das beheben?

War es hilfreich?

Lösung

Vielleicht QSA mit in Ihre RewriteRules, wie folgt aus:

RewriteRule .* index.php?kohana_uri=$0 [PT,QSA,L]

Sehen Sie die Anleitung mod_rewrite (Zitat):

  

'qsappend | QSA' (Query-String Append)

     

Dieses Flag erzwingt die Rewrite-Engine eine Abfragezeichenfolge Teil anhängen   der Substitutions Zeichenfolge an den   bestehende Zeichenfolge, anstatt sie zu ersetzen   es. Verwenden Sie diese Option, wenn Sie möchten mehr hinzufügen   Daten an den Query-String über eine Rewrite   Regel.

Might helfen (nicht in Ihrem speziellen Fall getestet, aber ich erinnere mich diese vor einiger Zeit verwendet habe, für eine Art von Problem wie dieser)

Andere Tipps

Ich denke, man könnte hinzufügen: RewriteCond $1 !^(search) oder eine Variation solcher

.

Wenn Sie gängige Praxis verwenden mögen, und ohne Abfrage-String Sie müssen nur die folgenden Schritte aus, und es wird funktionieren wie localhost, und Sie müssen nicht Rewrite-Regeln ändern.

Gehen Sie zu Ihren GoDaddy Konto Dateimanager -> WebRoot Verzeichnis -> Create php5.ini wenn es nicht vorhanden ist und Platz folgende Zeilen: cgi.fix_pathinfo = 1

Jetzt müssen Sie Ihren Web-Prozess neu zu starten:

1.) Melden Sie sich bei Ihrem Account Manager. 2.) Klicken Sie auf Web-Hosting. 3.) Neben dem Hosting-Konto, das Sie verwenden möchten, klicken Sie auf Starten. 4.) In der Statistik & Monitore Abschnitt, klicken Sie auf Systemprozesse. 5.) In der Liste auf der linken Seite, klicken Sie auf den Prozess, den Sie wollen auf einmal alle Prozesse anzuzeigen oder Alle Prozesse auf anzeigen. 6.) Um einen Prozess zu beenden, klicken Sie auf die entsprechende End-Schaltfläche in der Symbolleiste.

Jetzt können Sie URI_PROTOCOL als Auto verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top