У меня есть одна папка с именем 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
это похоже на SO URL.
Я попытался следовать в файле .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 моего сайта (кроме папки "test").
Кроме того, URL-адрес должен оставаться прежним (/files/test/15 etc
) вместо изменения на "?id=15&key=some-text123"
Большое спасибо.