Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Erstellen Sie Vanity-URLs in einer LAMP-Konfiguration

Angenommen, Ihre anderen Seiten hätten bestimmte URLs, die Sie überprüfen könnten. Folgendes sollte helfen.

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9-_]*)$ /profile.php?user=$1 [L]

Dies trägt dazu bei, aktuelle URLs beizubehalten, während die Verknüpfungs-URLs der Benutzer zugelassen werden. Auch die RewriteRule stimmt nur mit URLs überein, die keinen / enthalten , was zum Schutz vor unbeabsichtigten Weiterleitungen beiträgt. Also,

/i-am-a-user -> MATCHES
/i_am_a_user -> MATCHES
/i-!am-a-user -> NOT MATCHED
/i.am.a.user  -> NOT MATCHED
/i.am.a.user/ -> NOT MATCHED
/some/page/ -> NOT MATCHED
/doesnotexist.php -> NOT MATCHED
/doesnotexist.html -> NOT MATCHED

Hoffe das hilft.

BEARBEITEN

Ich habe die obigen Regeln aktualisiert, sodass tatsächliche Dateien/Verzeichnisse nicht umgeleitet werden, und ich habe sichergestellt, dass alle .php oder .html Datei wird nicht an profile.php gesendet entweder.