URL内に「%20(半角スペース)」が含まれていると403エラーが発生します。
1.まずURL内に「%20」があると→403エラー発生。
2.「whoami20230614 a.php」など半角スペースが含まれた実在ファイルに直アクセス→200OK
3.「?」マーク以降に「%20」があるとき(クエリーパラメーター扱い?)→200OK
4.「/detail_history/?/iuid=314/ab%20cd/?a=12%2134?xyz=1%202」など第一セグメントの後ろに「?/」をつけてアクセス→200OK
5.「%21(!ビックリマーク)」では発生しない。
4の補足
http://xxx2019.ce99.net/detail_history/iuid=314/ab%20cd/?a=12%2134?xyz=1%202👈403
http://xxx2019.ce99.net/detail_history/?/iuid=314/ab%20cd/?a=12%2134?xyz=1%202👈200
ブラウザからページ確認。
※ステータスが403であることも確認する。
Forbidden
You don't have permission to access this resource.
シェル端末からエラーlogを確認。
/home/myproject/logs/httpd/error_log.20230626
[opc@0206oci_opewebstaging httpd]$ cat /home/myproject/logs/httpd/error_log.20230626
[Mon Jun 26 19:42:50.143089 2023] [rewrite:error] [pid 2609218] [client 113.35.72.50:62987] AH10411: Rewritten query string contains control characters or spaces
[Mon Jun 26 19:45:00.058456 2023] [rewrite:error] [pid 3110208] [client 113.35.72.50:62899] AH10411: Rewritten query string contains control characters or spaces
/etc/httpd/conf/extra/my_httpd.conf
RewriteRule ^(.+)$ index.php?$1
#↓末尾に「 [B]」を追加する。
RewriteRule ^(.+)$ index.php?$1 [B]
#httpdを再起動の上、動作確認をお忘れなく…。
参考にしたURL
【.htaccess】mod_rewrite モジュール – その 5 RewriteRule のフラグ一覧
https://www.google.com/amp/s/web.hazu.jp/htaccess-rewriterule/amp/
htaccess 301リダイレクト【URLに半角スペースがある場合】
https://monostyle.net/investment/htaccess.html