У меня есть одна папка с именем test, расположенная по адресу www.mydomain.com/abc/files/test. Мне нужно изменить URL-адреса с www.mydomain.com/abc/files/test/test.php?id=15&key=some-text123
to 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-адреса моего сайта (кроме папки «test».)
Также URL-адрес должен оставаться прежним (/files/test/15 etc
), а не меняться на "?id=15&key=some-text123"
.
Большое спасибо.