Правило htaccess: как разобрать имя пользователя из URL

1

Я получил пользовательскую базу данных с уникальными именами пользователей, и я хочу настроить виртуальные URL-адреса, например: www.mypage.com/nickname

Я уже пробовал RewriteRule ^ user.php?name=$1 [L] но это также будет перенаправлять ANY css и js, которые не предназначены.

Я также думал о разборе сценария 404 или что-то в этом роде, но не знаю, как я это сделаю.

Есть идеи?

  • 0
    не уверен, подходит ли вам это, но я внесу в белый список расширение, которое не хочу перенаправлять
  • 0
    Google "PHP маршрутизация", и вы узнаете, как это обычно осуществляется.
Теги:
.htaccess
mod-rewrite

1 ответ

1

Вы можете сделать свое правило условным, добавив (RewriteCond) условия, чтобы он не переписывал существующие файлы и директории

RewriteEngine on

#don't rewrite existing dirs
RewriteCond %{REQUEST_FILENAME} !-d

#don't rewrite existing files
 RewriteCond %{REQUEST_FILENAME} !-f
#rewrite any uris to "/user.php" excluding files and dirs
RewriteRule ^([^/]+)/?$ user.php?name=$1 [NC,L]

Ещё вопросы

Сообщество Overcoder
Наверх
Меню