ここに私が抱えている問題があります:
私の仮想ホストは、存在しないファイルを /init.php?REQUEST に書き換えるように構成されています。例: www.test.com/module/action は /init.php?module/action に書き換えます。これは非常に一般的な機能であり、次の方法で実現されます。
<Directory /path/to/test.com/htdocs/> RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ init.php?$1 </Directory>
今、私はこれを開こうとしています:
location.href = 'http://www.test.com/module/action/' + encodeURIComponent('htp://www.google.com/');
しかし今、apache は書き換えの部分に入ることなく 404 ページをスローします。
- 事実 1: %2F 記号 (スラッシュ) が原因で発生する
- 事実 2: apache は <Directory> ルールにも入りません。htdocs/ の下に何かが必要であることは明らかですが、なぜ apache はディレクトリ ルールに従わないのでしょうか ???
誰かがスラッシュ記号が物事を台無しにする理由を説明してもらえますか?
ご感想ありがとうございます