2016-11-22 6 views
0

Zuerst muss ich sagen, dass ich kein htaccess-Experte bin, aber: Ich glaube nicht, dass mein Problem die Routing-Bibliothek (AltoRouter) ist, die ich verwende. Ich nehme an, es ist ein reines Problem, da alles lokal funktioniert.(AltoRouter) .htaccess-Datei führt zu 500 Interner Serverfehler

Allerdings verwende ich AltoRouter, um Routen für meine Website zu implementieren. Ich habe einen .htaccess -Dateien mit diesem Code:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule . index.php [L] 

ich meine Website seit einigen Monaten entwickelt und ich bin bereit, sie zu veröffentlichen, so hatte ich nie Probleme auf meinem localhost.

Aber das Hochladen der gleichen .htaccess-Datei verursacht Probleme auf meinem Remote-Host.

ich dieses Verhalten bemerkt:

  • Wenn ich an meinem Stammverzeichnis bin, z.B. www.domainA.com, funktioniert alles einwandfrei
  • Sobald ich die Ladeanzeige in meinem Browser wie www.domainA.com/signup/ auf einem Link auf meiner Website klicken spinnt immer (wie 30 Minuten!)
  • Die gleiche Index-Seite des ganze Zeit nichts, wird angezeigt neue Lasten

für diese lange Zeit, so kann ich nicht etwas, auch wenn ich die .htaccess -file vom Remote-Server und aktualisieren Sie die Seite löschen. Ich muss wie 30 Minuten warten, bis die Seite wieder antwortet mit einem

505 Interner Fehler

Seite.

Wenn mein Problem über AltoRouter ist, kann ich nur annehmen, dass es die Möglichkeit ist, den Basispfad einstellen:

$router->setBasePath('/projectA'); 

Aber da meine Ordnernamen sind die gleiche sowohl auf localhost und auf meiner Remote-Web-Wurzel Ich weiß nicht, ob das Problem da ist.

__

Nebenbei bemerkt: ist mein Webstamm wie die folgende Struktur organisiert. Ich habe jeden Ordner nach Domäne getrennt.

[domainA]

[domainB]

[domainC]

zu meinem lokalen Struktur So ist es ähnlich. Wenn ich localhost/domainA in meinem Browser anrufe, ist es C:\xampp\htdocs\domainA.

PS: Mein Provider hat mir gerade gesagt, dass es keine Protokolldateien gibt, die ich überprüfen kann. Ich muss htaccess Fehler für mich selbst überprüfen.

+0

Ich habe 'RewriteCond% {HTTP_USER_AGENT}^fake-user $' hinzugefügt, um zu überprüfen, ob dies als User-Agent mit dem Namen 'fake-user' funktioniert und das tut es! Aber wenn ich zu einem anderen Benutzer wechsle, treten die gleichen Fehler auf und meine gesamten Domains in meinem Web-Root sind wieder unten. Dann lösche ich diese htaccess Datei und es dauert noch einige Zeit bis alle Domains wieder da sind. Ich verstehe es nicht. – AlexioVay

Antwort

0

Ich kann es nicht glauben, aber es geht darum, den Basispfad zu setzen.Nach Stunden habe ich gerade herausgefunden, dass diese Zeile $router->setBasePath(''); auf meinem Remote-Host alle Probleme verursacht. Sie müssen diese Funktion nicht verwenden, wenn Sie sich im Stammverzeichnis befinden, dann funktioniert es wie auf dem lokalen Host. Vielleicht hilft das anderen Benutzern, wenn sie verwirrt sind, warum es nicht auf dem Remote-Host funktioniert, sondern auf dem lokalen Host.

Verwandte Themen