最佳答案
关于系统
在我的项目中有这种格式的 URL:-
http://project_name/browse_by_exam/type/tutor_search/keyword/class/new_search/1/search_exam/0/search_subject/0
其中,关键字/类对意味着使用“ class”关键字进行搜索。
我有一个通用的 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/
我该怎么补救?我需要将 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