N
Niocore
Gast
Sup people!
Heute Nachmittag hab ich ein bisschen mit meinem Synology (ds115j @ dsm 6.1) rumgespielt. Da kam mir die Idee, PHP und Apache auf die neuesten verfügbaren Versionen zu updaten. Also hab ich das gemacht. Alles ging gut und ich hab Apache 2.4 und PHP 7.0 sogleich auch in WebStation als "HTTP-Backend-Server" resp. "PHP" angegeben.
Seit einer Weile spiele ich mit dem Gedanken, mein NAS als Preview-Umgebung für private Projekte und Spielereien zu verwenden. Grösstenteils funktioniert das auch wie erwartet, aber beim Zusammenspiel von PHP + .htaccess haben sich doch einige Ungereimtheiten aufgetan.
.htaccess-Dateien scheinen normalerweise zu funktionieren, aber nicht in Kombination mit .htpasswd-Dateien. Ich kriege hier nämlich immer einen 500-Fehler zurück, sobald ich eine .htpasswd-Datei referenziere. Das ist allerdings nicht mein Hauptproblem. Denn noch "interessanter" ist, dass es zu lustigem Verhalten kommt, wenn man PHP mit einen .htaccess-Redirect verbinden will. Folgendes Szenario: Ich habe einen Unterordner api. In diesem ist eine .htaccess mit Inhalt
Dieser macht, dass alle Requests von ./api/wasauchimmer nach ./api/index.php umgeleitet werden. Wenn man nun https://rbnlffl.synology.me/phpsqlite/api aufruft, kriegt man "action: /phpsqlite/api/" zurück, was korrekt ist. Ruft man https://rbnlffl.synology.me/phpsqlite/api/names auf, so erhält man einen 404, wobei man eigentlich einen String mit einigen Namen zurückerhalten sollte. Auf https://rbnlffl.synology.me/phpsqlite/api/namessss kriegt man wieder "/phpsqlite/api/namessss" zurück, was ebenfalls korrekt ist.
Man kann meinem Code hier (https://rbnlffl.synology.me/phpsqlite/) beim Failen zuschauen. Und hier (https://robinloeffel.ch/phpsqlite/), auf meinem regulären Hosting mit Apache + PHP, beim Nicht-failen.
Was mache ich falsch? SQLite (ich brauche SQLite, um die Namen zu holen) habe ich auf dem NAS-PHP aktiviert. Und wie kann ich den Fehler fixen?
Cheers!
Heute Nachmittag hab ich ein bisschen mit meinem Synology (ds115j @ dsm 6.1) rumgespielt. Da kam mir die Idee, PHP und Apache auf die neuesten verfügbaren Versionen zu updaten. Also hab ich das gemacht. Alles ging gut und ich hab Apache 2.4 und PHP 7.0 sogleich auch in WebStation als "HTTP-Backend-Server" resp. "PHP" angegeben.
Seit einer Weile spiele ich mit dem Gedanken, mein NAS als Preview-Umgebung für private Projekte und Spielereien zu verwenden. Grösstenteils funktioniert das auch wie erwartet, aber beim Zusammenspiel von PHP + .htaccess haben sich doch einige Ungereimtheiten aufgetan.
.htaccess-Dateien scheinen normalerweise zu funktionieren, aber nicht in Kombination mit .htpasswd-Dateien. Ich kriege hier nämlich immer einen 500-Fehler zurück, sobald ich eine .htpasswd-Datei referenziere. Das ist allerdings nicht mein Hauptproblem. Denn noch "interessanter" ist, dass es zu lustigem Verhalten kommt, wenn man PHP mit einen .htaccess-Redirect verbinden will. Folgendes Szenario: Ich habe einen Unterordner api. In diesem ist eine .htaccess mit Inhalt
Code:
RewriteEngine On
RewriteRule ^.*$ index.php [L]
Dieser macht, dass alle Requests von ./api/wasauchimmer nach ./api/index.php umgeleitet werden. Wenn man nun https://rbnlffl.synology.me/phpsqlite/api aufruft, kriegt man "action: /phpsqlite/api/" zurück, was korrekt ist. Ruft man https://rbnlffl.synology.me/phpsqlite/api/names auf, so erhält man einen 404, wobei man eigentlich einen String mit einigen Namen zurückerhalten sollte. Auf https://rbnlffl.synology.me/phpsqlite/api/namessss kriegt man wieder "/phpsqlite/api/namessss" zurück, was ebenfalls korrekt ist.
Man kann meinem Code hier (https://rbnlffl.synology.me/phpsqlite/) beim Failen zuschauen. Und hier (https://robinloeffel.ch/phpsqlite/), auf meinem regulären Hosting mit Apache + PHP, beim Nicht-failen.
Was mache ich falsch? SQLite (ich brauche SQLite, um die Namen zu holen) habe ich auf dem NAS-PHP aktiviert. Und wie kann ich den Fehler fixen?
Cheers!