Lassen Sie uns zunächst darüber sprechen, wie Sie Regeln zum Umschreiben von URLs schreiben. Dies wird hauptsächlich für Pseudostatik verwendet. Rewrite-Regeln werden unter der .htaccess-Datei oder der Apache-Konfigurationsdatei abgelegt (einige spezifische Website-Konfigurationsdateien im Verzeichnis httpd.conf oder sites_conf). In diesem Artikel wird hauptsächlich die .htacess-Datei behandelt (eigentlich sind sie alle ähnlich).
Öffnen Sie Ihre .htacess-Datei mit folgendem Inhalt am Anfang:
RewriteEngine on
RewriteBase /
RewriteEngine ein bedeutet, dass das Umschreiben aktiviert ist, und RewriteBase / bedeutet, dass „/“ vor allen Regeln vorhanden ist. Nach dem Schreiben müssen Sie nur noch am Anfang aller folgenden schreiben Regeln „^“ ist ausreichend, es ist jedoch zu beachten, dass diese Regel nur in .htacess-Dateien unterstützt wird. Wenn es sich um eine Serverkonfigurationsdatei handelt, wird diese Regel ignoriert und muss nicht geschrieben werden.
2
Bevor ich die Regeln schreibe, möchte ich Ihnen zunächst die Bedeutung der bei der Neufassung entworfenen Sonderzeichen erläutern.
* steht für die vorhergehenden 0 oder mehr Zeichen
+ steht für die vorhergehenden 1 oder mehr Zeichen
? Stellt die ersten 0 oder 1 Zeichen dar
^ stellt die Startposition der Zeichenfolge dar
$ stellt die Endposition der Zeichenfolge dar
. Es handelt sich um ein Platzhalterzeichen, das ein beliebiges Zeichen
darstellt und die folgenden Zeichen auf die Zeichen selbst zurückführt. Beispielsweise steht „+“ für „+“, nicht für andere Bedeutungen.
^ bedeutet nicht in eckigen Klammern. Beispielsweise stellt [^.] ein Zeichen dar, das kein Platzhalterzeichen ist.
Wenn wir also URLs wie „http://www.AAA.com/b.php?id=1“ pseudostatisch in „http://www .AAA .com/b/1″, die Regeln lauten wie folgt:
RewriteRule ^b/([0-9]+)/?$/b.php?id= $1 [ L]
Im obigen Beispiel stellt ^ den Anfang der URL nach dem Domänennamen dar und $ stellt das Ende der Zeichenfolge dar, also das Ende der URL danach der Domainname. [0-9] stellt eine Zahl dar, denn solange die URL existiert, muss es eine ID-Nummer geben. Das direkt darauf folgende + zeigt an, dass eine oder mehrere Zahlen vorkommen. [0-9]+ sind miteinander verbunden, was darauf hinweist, dass die Zeichen in Form von Zahlen erscheinen, der Zahlenbereich 0-9 beträgt und die Anzahl der Vorkommen 1 oder mehrere Male beträgt. $ gibt das Ende der Zeichenfolge an, ?$ gibt das Ende des Domänennamens nach dem Stammdomänennamen an und es gibt 0 oder 1 Zeichen. $1 stellt den Inhalt im Speicher dar, also den Inhalt in der ersten Klammer. [L] bedeutet Stopp, wenn die Regel übereinstimmt, andernfalls müssen Sie mit der Ausführung der restlichen Regeln fortfahren. Normalerweise ist es nicht nötig, darauf einzugehen.
3
Zusätzlich zur Pseudostatik müssen wir manchmal auch .htacess für die 301-Umleitung verwenden. Die Bedeutung der Symbole bleibt unverändert, zum Beispiel:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^AAA.com$ [NC]
RewriteRule ^(.*) http://www.AAA.com/$1 [R=301,L]
Das Obige Regeln sind AAA.com 301 Gehen Sie zu www.AAA.com. Ich glaube, dass es nicht nötig ist, die Bedeutung der Symbole zu erklären.
Nach diesen beiden Regeln sollten Sie sich inspirieren lassen. Was sollten Sie tun, wenn Ihre Website überarbeitet wird und sich Ihre URL-Struktur ändert? Die Antwort ist einfach. Wir können die .htacess-Datei verwenden, um die alte URL in die neue URL umzuwandeln, indem wir Umschreiberegeln schreiben.
RewriteRule ^(.*?)/?index.html$/$1? [L,R=301]
Diese Regel ist Durchsuchen Sie den Domänennamen nach a/index.html 301 mit der URL von a/. Die Regeln sind tot. Das Wichtigste ist, dass jeder sie lernen und anwenden sollte. Ich glaube, dass Sie nach dem Beherrschen der Umschreiberegeln feststellen werden, dass alle URLs und Rückkehrcodes der Website unter Ihrer Kontrolle stehen werden!
Das Obige ist die Schreibmethode und die Regeln, nachdem der Apache-Server das Umschreiben aktiviert hat. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!