Это должно сработать, я протестировал его с некоторыми другими именами и каталогами, но в вашем случае это должно быть нормально.
Примечание: для подходящей группы из RewriteCond вы должны использовать %1
, а не $1
.
RewriteCond %{QUERY_STRING} ^s=([a-z]+)$ [NC]
RewriteRule ^$ /s/%1? [NC,R,L]
RewriteRule ^s/([a-z]+)$ /?s=$1 [NC,L]
Редактировать для отладки (см. Комментарии):
Мой тест:
| /
| --> doc
| |
| --> doc.php (takes doc as GET parameter)
| | index.php
Мой апач переписал
RewriteCond %{QUERY_STRING} ^doc=([a-z]+)$ [NC]
RewriteRule ^$ /doc/%1? [NC,R,L]
RewriteRule ^doc/([a-z]+)$ /doc/doc.php?doc=$1 [NC,L]
Затем запрос на domain.com/?doc=query отображает doc is query
У меня работает.