У меня есть одна папка с именем test, расположенная по адресу www.mydomain.com/abc/files/test. Мне нужно изменить URL-адреса с сайта www.mydomain.com/abc/files/test/test.php?id=15&key=some-text123
на www.mydomain.com/abc/files/test/15/some-text123
это похоже на URL-адреса SO.
Я пробовал следовать в файле .htaccess со следующим кодом
RewriteEngine on Options +FollowSymlinks RewriteBase / RewriteRule ^test/([0-9]+)/([A-Za-z0-9-]+)?$ test/test.php?id=$1&key=$2 [R]
Он перенаправляет меня на www.mydomain.com/test/test.php?id=15&key=some-text-123
но он не работал, поскольку я скопировал формат откуда-то. Я не уверен, что ^ должен включать в себя часть www, или он просто предполагает / как root?
Часть «id» важна для меня. Я также рассмотрю следующие действия как действительные URL-адреса.
www.mydomain.com/abc/files/test/15 (without /some-text123") www.mydomain.com/abc/files/test/15/ (without /some-text123 but having / )
Не могли бы вы помочь мне написать правильное правило?
Как я могу сделать это так, чтобы мне не пришлось жестко закодировать «abc / files /»?
Он не должен влиять на другие URL-адреса моего сайта (вместо «тестовой» папки).
Также URL-адрес должен оставаться неизменным ( /files/test/15 etc
) Вместо изменения на "?id=15&key=some-text123"
Большое спасибо.