проблема mod_rewrite Regex

#regex #apache #mod-rewrite

#регулярное выражение #apache #мод-перезапись

Вопрос:

У меня есть это правило перезаписи:

 RewriteRule ^/([0-9]) $ http://<domain>/$1/ [L]
  

И когда я добрался до сайта и набрал:

 http://<domain>/596
  

Я ожидаю, что он перенаправит меня на

 http://<domain>/596/
  

Однако это перенаправляет меня на:

 http://<domain>/6/
  

Что я здесь делаю не так?

Спасибо! 🙂 Эрик

Ответ №1:

должен быть заключен в квадратные скобки.

 RewriteRule ^/([0-9] )$ http://<domain>/$1/ [L]
  

В противном случае вы говорите, что я хочу одно или несколько совпадений для цифры, а не одно совпадение с 1 или более цифрами.

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

1. Ого. Я должен был это видеть! 🙁 Спасибо за подсказку.

2. @Eric Все в порядке, я уверен, что мы все сталкивались с этим много раз.