Apache mod_rewrite: путь заменен строкой запроса
У меня есть следующее правило:
RewriteRule ^/([0-9]+)/([a-z0-9_-]*)\.([a-z]+)$ index.php?id=$2&type=$3&size=$1 [R=301,L]
Проблема в том, что когда я иду на URL /0/azerty.ext
в браузере URL отображается как /index.php?id=azerty&type=ext&size=0
, То, что я хочу, это перенаправление, которое будет выполнено, с /0/azerty.ext
как видимый URL.
Я пытался удалить R=301
флаг, но в этом случае перенаправление не выполняется.
Что мне не хватает?
1 ответ
Решение
Нашел решение (добавив косую черту в начале перенаправленного URL), хотя не уверен, почему...
RewriteRule ^/([0-9]+)/([a-z0-9_-]*)\.([a-z]+)$ /index.php?id=$2&type=$3&size=$1 [L]