У меня есть следующие строки в файле .htaccess в каталоге сайта:
RewriteEngine On
RewriteRule ^([a-z]{1}[a-z0-9_-]{3,20})$ account.php?username=$1&%{QUERY_STRING}
Если он получает URL, например:
http://localhost/samplesite/johnsmith
перезапишет его на
http://localhost/samplesite/account.php?username=johnsmith
что хорошо.
Проблема возникает, когда в каталоге сайта есть каталог с именем johnsmith . затем URL перезаписывается и отображается как
http://localhost/samplesite/johnsmith/?username=johnsmith
и это проблема. Я пытаюсь реализовать функциональность страниц учетной записи для каждого пользователя, но если пользователь захочет зарегистрировать имя пользователя, например, какой-либо каталог в корне, функциональность будет нарушена? Я попытался добавить условия перезаписи, чтобы проверить, соответствует ли запрошенный URL существующему каталогу или файлу:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
но я не знаю, как поступить.
Если кто-то знает лучший способ сделать функционал страниц учетной записи для пользователей, я бы хотел дать мне совет по этому поводу.
Кто-нибудь может мне помочь раскрыть это дело? Спасибо!