Ich implementiere eine grundlegende URL-Rewriting in einer PHP-Anwendung. Unten ist die Vorgehensweise, die ich befolge:Benutzerdefinierte URL-Rewriting in PHP
table 1: rewrite_table (fields as below)
id | original_url | custom_url
Diese Tabelle verwende ich, um ursprüngliche URL und benutzerdefinierte URL zu speichern.
Ich bin Überprüfung beim Start, ob die angeforderte URL mit jedem CUSTOM_URL abgestimmt ist und wenn ja, dann rufe ich Controller und die Aktion, die in original_url Feld
gespeichert wird, die fein arbeitet. Nun, Punkt ist, wenn ich die benutzerdefinierte URL wieder ändere, dann möchte ich die alte URL in einer URL-Log-Tabelle behalten und für den Fall, dass jeder Benutzer die Webseite mit dieser alten URL durchsucht, wird er auf die neue URL mit 301 Redirect umgeleitet .
Ich habe eine neue Tabelle erstellt, wie
Table2: rewrite_table (fields as below)
log_original_url | current_url_id (this belongs to first table id filed)
Diese Tabelle I alte URL speichern bin mit, die für alle öffentlich zugänglichen ist, bevor die URL erneut zu aktualisieren, die bereits im ersten Tisch.
Ich bin verwirrend und nicht in der Lage, eine Lösung zu finden, um den zweiten Ansatz zu implementieren.
Wer kann mir helfen, eine Lösung zu finden
Dank
Gibt es einen Grund dafür, anstatt nur .htaccess zu verwenden? (Oder web.config, wenn Sie auf IIS sind) – John
Ja John, manchmal müssen wir benutzerdefinierte URLs nach dem Zufallsprinzip hinzufügen und loszuwerden Regel in Htaccess jedes Mal hinzufügen Bedingung –