システムについて
プロジェクトにこの形式の URL があります:-
http://project_name/browse_by_exam/type/tutor_search/keyword/class/new_search/1/search_exam/0/search_subject/0
キーワード/クラスのペアは、「クラス」キーワードで検索することを意味します。
プロジェクト内のすべてのモジュールに対して実行される共通の index.php ファイルがあります。URL から index.php を削除するための書き換えルールのみがあります:-
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]
検索 URL の準備中に urlencode() を使用し、検索 URL の読み取り中に urldecode() を使用しています。
問題
スラッシュ文字のみが 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/
これを修正するにはどうすればよいですか? URL に index.php を隠しておく必要があります。それ以外の場合、それが必要ない場合は、スラッシュに問題はなく、次の URL を使用できたはずです:-
http://project_name/index.php?browse_by_exam/type/tutor_search/keyword/one
%2Ftwo/new_search/1/search_exam/0/search_subject/0