Reescrevendo uma URL para um parâmetro PHP de dentro de um subdiretório
O que estou pedindo é simplesmente reescrever qualquer subdiretório dado por URL a um parâmetro de URL do PHP para uma URL mais agradável e amigável.
Eu sei que isso é possível usando o Apache Rewrite Engine e os parâmetros associados. O problema do meu lado é que eu não quero reescrever, ou seja,
mydomain.com/parameter ----------->
mydomain.com/index.php?id=parameter
Mas reescrevendo
mydomain.com/subdirectory/parameter ----------->
mydomain.com/subdirectory/index.php?id=parameter
Na minha pasta raiz eu tenho um arquivo .htaccess para erros 404 e tal, redirecionando as páginas inexistentes para o principal. Durante os testes que fiz, eu os desativei pensando que eles poderiam sobrescrever o outro arquivo .htaccess. Eu tentei...
RewriteEngine On
RewriteRule ^directory/([^/\.]+)/?$ index.php?id=$1 [L]
... e outros trechos semelhantes a esse.
O arquivo .htaccess contendo este código foi colocado na pasta raiz / diretório. O que eu queria alcançar com isso era redirecionar root / directory / string para root / directory / index.php? Id = string.
Como meu conhecimento de .htaccess e reescrita é obviamente limitado, preciso de respostas para duas perguntas.
Um reescrito 404 na pasta raiz substituirá qualquer outro reescritor em um subdiretório?
Como faço para conseguir o que eu estou depois? (muito parecido com o modo como url-shorteners funcionam - bit.ly/shortened) de um subdiretório?