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.