In diesem Tutorial lernen wir, wie man benutzerfreundliche URLs in PHP erstellt, damit unsere Software die SEO-URL basierend auf dem Titel zurückgeben kann.
Dazu erstellen wir eine PHP-Funktion, die einen Satz übersetzt, der aus einer Datenbank entnommen oder in ein Formular eingegeben werden kann, und ihn in eine suchmaschinenfreundliche URL umwandelt.
: Die Funktion wird sein :
Diese Funktion zeichnet den Ausdruck zeichenweise nach und ersetzt diejenigen, die von Browsern möglicherweise nicht gelesen werden können.
: Beispiel für eine URL-Konvertierung :
<? $ title = ‘Registrierung für den Wettbewerb’;
$ url = getUrlAmigable (utf8_decode ($ title)); ?>
<a href=”www.midominio.com/<?= $url?> “/> <? = $ title?> </a>
Die URL wird sein
<a href=”www.mydomain.com/registration-for-competition”> Registrierung zum Wettbewerb </a>
Hier sehen Sie ein Beispiel, wie es für Twitter und andere freundliche URL wäre
Wenn der Konvertierungscode funktioniert, müssen wir eine Datei erstellen, die mit dem Apache-Server kommuniziert und dem Web ermöglicht, unsere benutzerfreundlichen URLs zu verstehen.
Wir erstellen eine einfache Textdatei mit dem Namen .htaccess im Hauptverzeichnis des Webs, in dem sich unsere index.php-Datei befindet.
In der .htacess- Datei : Wir schreiben den folgenden Code :
# URL umschreiben lassen
RewriteEngine On
# Die URL ist für .htaccess und ist kein Verzeichnis
RewriteBase /
# Die fiktive URL ist keine auf dem Server vorhandene Datei.
RewriteCond% {REQUEST_FILENAME}! -F
# Die URL ist fiktiv und kein vorhandenes Verzeichnis auf dem Server.
RewriteCond% {REQUEST_FILENAME}! -D
# Aber es ist keine vorhandene Datei und es ist kein Verzeichnis. Ich greife auf die index.php zu und weise die freundliche URL als Variable zu
RewriteRule ^ ([a-zA-Z0-9 _-] +) $ index.php? Section = $ 1
Schließlich habe ich in der Datei index.php die Variable gelesen, die mir heimlich die .htacess sendet
Ein wichtiges Problem ist die Sicherheit bei dieser Methode, da jemand versuchen könnte, Code über index.php? Section = ‘pagina-malicionsa’ einzufügen. Um dies zu vermeiden, erstellen wir eine Registrierung gültiger Dateien, auf die zugegriffen werden kann, dh physische Dateien auf dem Server.
Dazu definieren wir nach $ section = $ _ GETseccion ‘] einen Abschnitt, eine Matrix, die die Namen der Dateien auf dem Server enthält.
<? $ list_sections = array (“Benutzer”, “Login”, “Hilfe”, “Produkte”, “Index”); ?>
Wenn also jemand versucht, auf eine ungültige URL zuzugreifen, wird diese auf eine Fehlerseite umgeleitet, oder wenn Sie keine URL ausgewählt haben, wird standardmäßig eine Seite mit dem Namen home.php aufgerufen.
Wir können es auch verwenden, um zum Beispiel zu verschiedenen Abschnitten des Webs zu gelangen
URL <a href=”vendo-casa-en-barcelona-im100″> Ich verkaufe ein Haus in Barcelona </a>
In der .htaccess kann ich folgende Regel setzen
#Wenn die Adresse “im” enthält, wird die unten stehende RewriteRule ausgeführt
RewriteCond% {REQUEST_URI} im-
Rewriterule ^ (. +). Php ./index.php?seccion=inmuebles&cod=$1
auf diese Weise würden der Titel und der Code des Hauses als Variable übergeben und dann von der Datenbank verarbeitet
<a href=”listado-CL50″> Ich verkaufe ein Haus in Barcelona </a>
#Wenn die Adresse “CL” enthält, wird die unten stehende RewriteRule angezeigt
RewriteCond% {REQUEST_URI} CL
–
Umschreiben ^ (. +) ./Index.php?seccion=listarclients&limite=$1
Hier könnte es sein, den Client für die Nummer 50 oder den Client 50 entsprechend der Aufgabe aufzulisten, die wir später in unserer Datenbank ausführen möchten. Wir werden die Werte der Variablen in der index.php mit $ GET lesen, das heißt, für den letzten Fall wäre es $ GET [‘limit’]