htaccess code zu entfernen-Erweiterung UND add+Kraft trailing slash?
Ich versuche zusammen zu stellen einige htaccess-code, der wiederum example.com/filename.php in example.com/filename/ (und die Kraft, die auf den Schrägstrich) - ich habe versucht, varous Ansätze, die aber jeweils noch nicht gearbeitet, ganz rechts, von der 500-Fehler, die auf Unterordner von Problemen mit dem trailing-slash, usw...
Bitte um Hilfe!!
- Haben Sie nicht wirklich erwähnt, die Ansätze, die Sie versucht - was sind Ihre aktuellen Satz von rewrite-Regeln (vorausgesetzt, Sie verwenden mod_rewrite)? Wenn Sie nicht mit dem mod_rewrite, was verwenden Sie?
- RewriteBase / RewriteRule ^()$ index.php [NC,L] Rewritecond %{REQUEST_URI} !(^/?.*\..*$) [NC] RewriteRule ^(.*)$ $1.php [NC] Derzeit funktioniert gut, um die zu entfernen .php-Endung von Dateien, unabhängig von Ordner-Tiefe. Jedoch, hinzufügen ein / eine 404-Fehler, und alle versuche der Integration eines Zwangs-slash-Lösung, die die Probleme verursacht haben.
- Akzeptieren Sie eine Antwort bitte, diese Frage ist verbunden mit der auch von anderen Fragen.
- Alderson So, die Antwort ist hier akzeptiert?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie dies:
Die erste Regel leitet Anfragen von
/foo/bar
.php
extern zu/foo/bar
/
. Und die zweite Regel schreibt Anfragen von/foo/bar
/
intern zu/foo/bar
.php
.Und zu zwingen, den trailing slash, versuchen Sie diese Regel:
Diese Lösung Gumbo großen Werke für die Dateien, aber es funktioniert nicht mit Verzeichnissen.
In anderen Worten:
Für
mysite.com/file1.php
es zeigtmysite.com/file1/
das ist toll.Doch, es funktioniert nicht für die Verzeichnisse. Wenn ich versuche, Zugriff auf das Verzeichnis (enthält index.php Datei innen)
mysite.com/dir1
, anstatt zu zeigen, den Inhalt derhttp:/mysite.com/dir1/index.php
und die url:mysite.com/dir1/
es gibt 404 zurück.Meine Lösung in etwa war es:
In anderen Worten, nicht alles zu tun, wenn Ihr ein Verzeichnis.
Hoffe, es hilft.
Ein weiteres problem mit der original-Lösung ist, dass die css und die Bilder werden nicht geladen, bis ich den Pfad zur css-Datei und Bilder zu absoluten Pfad.
Gibt es einen anderen Weg, es zu lösen, sondern dann ändern sich die Pfade in allen Dateien der website zu absolut.
Vielen Dank.
Funktioniert wie ein Charme vielen Dank für die Hilfe Leute.
Könnten Sie versuchen, die Arbeit aus der Frage hier. Während die Lösung auf die Frage nicht relevant (noch nicht...) die Frage selbst bietet eine Reihe von rewrite-Regeln, die Sie möglicherweise in der Lage sein zu verwenden, in Ihrer eigenen Website.
Wenn Sie benötigen Symbole in URLs, die Sie konnte einfach ".*" anstelle des bestimmten A-Za-z0-9, aber wenn Sie auf der Suche nach einem möglichen abschließenden Schrägstrich, die Sie möglicherweise verwenden möchten ".*?" statt. Dies ist ein standard regular expression-Funktion zu vermeiden, die die Begehrlichkeit von ".*".
Für den Pfad, den Sie hinzufügen können
<base href="yourpath" />
um Ihre php-Seiten.Versuchen, diese, dieses funktioniert auf meinem Apache, auch wenn Sie, entfernen Sie manuell die letzten Schrägstrich: