2010-12-19 2 views

Antwort

0

Sie finden die letzte Periode, die nach dem letzten "/" erscheint und, falls gefunden, entfernen Sie die Periode und alles, was folgt. (Wenn die URL mit "/" endet, ist die URL ein Pfad und kein Dateiname.) Fügen Sie dann ".php" hinzu.

0

Sie müssen die Bedingungen klären, unter denen Sie /my/path zu /my/path.php umschreiben möchten, alle diese Informationen würden in den Umschreibzustand gehen. Dann wird die nachfolgende Rewrite-Regel nur wäre:

RewriteRule ^(.*)$ $1.php 

Zum Beispiel, wenn Sie alle Pfade neu zu schreiben wollten, weisen nicht auf statische Dateien oder Verzeichnisse .php anhängen, .htaccess würde wie folgt aussehen:

In der Praxis besteht eine ziemlich gängige Methode zum Neuschreiben darin, alle Anforderungen für andere Dinge als statische Assets an einen einzelnen Handler weiterzuleiten, der die Anforderung dann entsprechend delegiert. Zum Beispiel:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php 

Der angeforderte URI ist immer noch zugänglich in PHP über $_SERVER['REQUEST_URI'].

+0

Es wäre URLHERE.com/PAGENAME.php – Dustin

+0

Können Sie mir zeigen, wie es aussehen würde, wenn ich auf war website.com/home.php, ich möchte es nur auf dieser Seite in website.com/home umwandeln. – Dustin

+0

Wenn es nur diese Seite ist, dann brauchst du nur 'RewriteRule^home $^home.php $' –

0

Diese für einzelne Seiten ist, wird diese page1.php zu Seite1 ändern:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /page1\.php\ HTTP/ [NC] 
RewriteRule .+ http://www.yourwebsite.com/page1 [R=301,QSA] 

RewriteRule ^page1/? /page1.php [QSA,L] 

Dieses ist für mehrere Seiten, wird page1.php page1 wird page2.php page2 etc ..:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(page1|page2|page3)\.php\ HTTP/ [NC] 
RewriteRule .* http://www.yourwebsite.com/%1/ [R=301,QSA] 

RewriteRule ^(page1|page2|page3)/? /$1.php [QSA,L] 

Ausgeführt auf Seite1 wird es das Ergebnis http://www.yourwebsite.com/page1/ geben. Wenn Sie das letzte zu entfernende/ersetzen Sie einfach http://www.yourwebsite.com/%1/ mit http://www.yourwebsite.com/%1

bearbeiten @ Kommentar:

RewriteEngine On 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /home\.php\ HTTP/ [NC] 
RewriteRule .+ http://www.website.com/home [R=301,QSA] 

RewriteRule ^home/? /home.php [QSA,L] 
+0

Kannst du mir zeigen, wie es aussehen würde, wenn ich auf website.com/home.php wäre, möchte ich wenden es in website.com/home nur auf dieser Seite. – Dustin

+0

Bearbeitete meine Antwort, ich glaube, das ist was du brauchst. Ich bin mir aber nicht ganz sicher, da ich kein Zauberer bin: D – Citroenfris

Verwandte Themen