2017-01-20 4 views
0

Meine .htaccess hat eine Rewrite, die aus der URL entfernt .php, so dass:Server zwingen Schrägstrich auf nur eine URL

http://example.com/page.php Änderungen http://example.com/page

Dies ist seit Jahren fein gearbeitet, bis ich brauchte um den Namen einer Datei zu ändern. Jetzt passiert das:

http://example.com/newpage ändert sich zu http://example.com/newpage/ und löst einen Fehler 403 aus.

Hier ist das Umschreiben, die sonst für alles funktioniert:

RewriteCond %{REQUEST_FILENAME} !-f 

RewriteRule ^([^\.]+)$ $1.php [NC,L] 

Ich bin sicher, das standardmäßig mit Apache Hinzufügen eines Schrägstrich kombiniert irgendeine Art von Caching-Problem ist, aber ich kann nicht herausfinden, wo die Caching ist im Gange und ich möchte den abschließenden Schrägstrich von Apache aus Sicherheitsgründen nicht deaktivieren (plus, ich sollte nicht brauchen).

Weil Sie fragen:

  1. Ich bin ein cPanel VPS mit Centos 5. Apache 2.2 und PHP 5.4 verwenden.

  2. cPanel scheint keine Möglichkeit zu haben, den Apache-Cache zu löschen. htcacheclean war nicht da und ich wollte es nicht installieren, falls es etwas mit cPanel vermasselt hat.

  3. Ja, ich habe durch den Browser-Cache gelöscht. Versucht einen neuen Browser. Versuchte einen neuen Computer.

  4. Der Dateiname ist korrekt. Wenn ich die URL zu http://example.com/newpage.php ändere, funktioniert es gut.

  5. Es ist vier Stunden her, seit ich die erste Änderung vorgenommen habe.

  6. Versucht, den Server neu zu starten.

Irgendwelche Ideen?

+1

Kein Ordner mit demselben Namen? – Croises

+0

Sohn eines $% @ $$%! Ja! Das war das Problem. Ich bin mir nicht sicher, wer diesen Ordner dort hingelegt hat, aber da war noch nicht einmal irgendetwas. Vielen Dank! – JohnH

+0

Gern geschehen, ich bin froh, dass ich ein wenig helfen konnte. – Croises

Antwort

0

Um einen Schrägstrich entfernen .htaccess verwenden Sie die folgende verwenden:

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} (.+)/$ 
RewriteRule^%1 [R=301,L] 

Es sollte beheben den Fehler Sie erlebt haben.

+0

Das gab mir 404 Fehler auf allen Seiten. – JohnH

Verwandte Themen