.htaccess について
.htaccess には下記の様に書いてあります。
-------------------------
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?.+ /index.php
-------------------------
http://www.hoge.com/a%2Fb%2Fc
という様な「%2F」(/)の入ったURLへのアクセスも、
/index.php にリダイレクトしたいのですが、下記の様になってしまいます。
-------------------------
Not Found
The requested URL /a/b/c
-------------------------
解決方法を教えて下さい。
宜しくお願い致します。
『「%2F」(/)の入ったURLへのアクセスも、』というところを、素直にふたつ目のルールとして書く、というのではどうでしょうか。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?.+ /index.php [L]
RewriteCond %{REQUEST_URI} %2F [NC]
RewriteRule ^/?.+ /index.php [L]
「存在しないファイルやディレクトリだったら」の方は、RewriteRule に L フラグを指定して、条件を満たした場合にはそこで止めるようにします。