Как mod_rewrite «?u =»

#apache #.htaccess #mod-rewrite

#apache #.htaccess #мод-перезапись

Вопрос:

Я хотел бы переписать с

 https://example.com/plugins/mediaplayer/site/_embed.php?u=57aa2050dcba22df
  

Для

 https://example.com/embed/57aa2050dcba22df
  

Это то, что я использую сейчас:

 RewriteEngine On
RewriteRule ^embed/?$ /plugins/mediaplayer/site/_embed.php [NC,L]
  

Результат:

 https://example.com/embed/?u=57aa2050dcba22df
  

Как переписать ?u = ?

С уважением

Ответ №1:

Предполагая, что ваш алгоритм хеширования включает только буквы a-z и цифры 0-9..

 RewriteBase /
RewriteRule ^embed/([a-z0-9] )$ plugins/mediaplayer/site/_embed.php?u=$1
  

Комментарии:

1. Идеально! Большое спасибо!

2. Мне потребовалось совсем немного времени, чтобы разобраться с хорошей практикой и для правил перезаписи.

3. Я удивлен, что вам удалось выяснить, что искал OP с первой попытки, поскольку в вопросе используются слова «от» и «до» назад, а фрагмент «результат» не объясняет, является ли это ожидаемым или желаемым результатом или нет.