Да речем, че другите ви страници имат конкретни URL адреси, с които можете да проверите, следното трябва да ви помогне.
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9-_]*)$ /profile.php?user=$1 [L]
Това помага да се поддържат текущите URL адреси, като същевременно позволяват URL адресите за преки пътища на потребителите. Също така, RewriteRule
ще съвпада само с URL адреси, които не съдържат /
, което ще помогне за защита срещу непреднамерени пренасочвания. И така,
/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
Надявам се това да помогне.
РЕДАКТИРАНЕ
Актуализирах правилата по-горе, така че действителните файлове/директории да не се пренасочват, както и се уверих, че всеки .php
или .html
файлът не се изпраща до profile.php
или.