A barra de encaminhamento com código de URL está quebrando o URL

Sobre o sistema

Eu tenho URLs deste formato no meu projeto: -

http://project_name/browse_by_exam/type/tutor_search/keyword/class/new_search/1/search_exam/0/search_subject/0

Onde o par de palavras-chave / classe significa pesquisar com a palavra-chave "class".

Eu tenho um arquivo index.php comum que é executado para todos os módulos do projeto. Existe apenas uma regra de reescrita para remover o index.php da URL: -

RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]

Estou usando urlencode () durante a preparação do URL de pesquisa e urldecode () durante a leitura do URL de pesquisa.

Problema

Somente o caractere de barra invertida está quebrando URLs, causando um erro de página 404 não encontrada. Por exemplo, se eu procurarone/two o URL é

http://project_name/browse_by_exam/type/tutor_search/keyword/one%2Ftwo/new_search/1/search_exam/0/search_subject/0/page_sort/

Como faço para corrigir isso? Eu preciso manter o index.php oculto na URL. Caso contrário, se isso não fosse necessário, não haveria nenhum problema com a barra e eu poderia ter usado este URL: -

http://project_name/index.php?browse_by_exam/type/tutor_search/keyword/one
%2Ftwo/new_search/1/search_exam/0/search_subject/0

questionAnswers(12)

yourAnswerToTheQuestion