weble.org/foo/bar/ というパーマリンクでサイトを作っている時に bar のところに weble.org/foo/Fate%2FZero/ のようなスラッシュを URL エンコードした値が入ってきたとき、Apache はデフォルトで 404 Not Found を返します。実際には勝手に URL デコードして解釈しているんでしょうか。
これを解決するには httpd.conf に以下の記述を行います。
1 | AllowEncodedSlashes On |
実際にバーチャルホストの設定内で組み込む場合は以下です。
1 2 3 4 5 6 7 8 9 | <VirtualHost *:80> DocumentRoot "/var/www/weble.org/app/webroot" ServerName weble.org AllowEncodedSlashes On <Directory "/var/www/weble.org/app/webroot"> order deny,allow allow from All </Directory> </VirtualHost> |
.htaccess が使える環境の場合はそこに追加しても良いです。
コメント