2017-12-29 45 views
-2

eigentlich versuche ich eine Website aufzubauen, um besser in der Codierung zu werden, aber egal wie viel ich lese, ich bekomme nicht, wie Pfade neu geschrieben werden.Wie man den Pfad einer Website umschreibt?

Irgendwelche Tipps, wie man http://domain/login/php/login.php zu http://domain/login.php umschreiben kann?

Mit freundlichen Grüßen, ein Saltyy Noob: c

+2

Es gibt viele Möglichkeiten, mit denen Sie Ihren Weg in PHP neu schreiben kann. Aber zuerst, dass Sie irgendein Framework verwenden oder in Core PHP schreiben? –

+0

Ich verwende keine Frameworks. Eigentlich habe ich versucht, es mit ". Htaccess" neu zu schreiben, aber ich verstehe es nicht ^^ " PS. Ich hoffe, mein Englisch ist nicht das Schlimmste:/ – Saltyy

+0

Ok, dann erkläre ich Ihnen über. htaccess und wie man die Apaches-Konfiguration unter Verwendung desselben ändert. –

Antwort

0

zum Umschreiben des Pfades Sie enthalten müssen. htaccess Datei in Ihrem Stammverzeichnis zu ändern Apachen Konfigurationseinstellung.

Die. .htaccess Route mit mod_rewrite

Fügen Sie eine Datei .htaccess in Ihrem Stammordner genannt, und sehen Sie die unten aufgeführten:

Dieser Code-Schnipsel in der .htaccess wird sichergestellt, dass alle Anforderungen für Dateien und Ordner, die nicht der Fall ist vorhanden wird zu index.php umgeleitet werden:

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

die Rewrite-Engine Dies ermöglicht:

RewriteEngine on 

Diese prüft, ob die vorhandenen Ordner (-d) und Dateien (f):

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 

Und das tut die tatsächliche Umleiten:

RewriteRule . index.php [L] 

Sie diese erweitern können die angeforderte Pfad zum Index übergeben php-Datei, indem Sie die RewriteRule auf die folgende Modifikation:

RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 

die^$ Teil erzählt die Rewrite-Modul, das wir den gesamten angeforderten Pfad als einen Parameter zu überliefern wollen (. *). Der QSA-Teil weist das Modul an, beliebige Abfragezeichenfolgen an die Anforderung anzuhängen. Das? Q = $ 1 teilt dem Modul mit, wie der Parameter übergeben werden soll. In diesem Fall wird es als q-Parameter übergeben. Sie können dies noch erweitern, indem Sie reguläre Ausdrücke verwenden. Beispiel:

RewriteRule ^([^/]*)(.*)$ index.php?first=$1&second=$2 

Dadurch wird der erste Teil des Pfads als erster Parameter und der Rest als zweiter Parameter übergeben. So ist die folgende Anfrage

http://yourhost.com/some/path/somewhere 

führt in

http://yourhost.com/index.php?first=some&second=path/somewhere 
+0

Danke, ich werde es so schnell wie möglich versuchen, hoffe es funktioniert <3 – Saltyy

Verwandte Themen