О системе
У меня есть URL этого формата в моем проекте: -
http://project_name/browse_by_exam/type/tutor_search/keyword/class/new_search/1/search_exam/0/search_subject/0
Где ключевое слово/пара классов означает поиск с ключевым словом "class".
У меня есть общий файл index.php, который выполняется для каждого модуля в проекте. Существует правило перезаписи для удаления index.php из URL: -
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]
Я использую urlencode() при подготовке URL-адреса поиска и urldecode() при чтении URL-адреса поиска.
Проблема
Только символ косой черты разбивает URL-адреса, вызывающие ошибку 404 страницы.
Например, если я ищу one/two
, URL-адрес
http://project_name/browse_by_exam/type/tutor_search/keyword/one%2Ftwo/new_search/1/search_exam/0/search_subject/0/page_sort/
Как это исправить? Мне нужно сохранить index.php в URL. В противном случае, если бы это не было необходимо, не было бы проблем с косой чертой, и я мог бы использовать этот URL: -
http://project_name/index.php?browse_by_exam/type/tutor_search/keyword/one
%2Ftwo/new_search/1/search_exam/0/search_subject/0