だから私は、このタイプの入力を使用するカスタムメイドのサイトを持っています:
example.com/?id=4e2dc982
または、これも機能します:
example.com/index.php?id=4e2dc982
しかし、何らかの理由でこれを取得しようとする GoogleBot からのヒットがログに表示されるようになりました。
example.com/index.php/?id=4e2dc982
さらに悪いことに、これは実際に機能し、正しい GET パラメータでページをプルしますが、余分な '/' のためにすべてのリンクと参照が機能しません。適切な「example.com/image.jpg」をロードする代わりに「image.jpg」をロードしようとすると、「example.com/index.php/image.jpg」をロードしようとします。これを修正するにはどうすればよいですか?戻ってすべてのリンクを置き換えて絶対パスを使用できることは知っていますが、それはばかげています。余分な「/」を含むリンクは、そもそも機能しないはずです。
アップデート:
修正を見つけましたが、なぜこれが許可されているのかまだわかりません。私は行きました:
http://ca1.php.net/manual-lookup.php?pattern=test
そして、次のことが可能かどうかを確認しようとしましたが、十分に機能することを確認してください。
http://ca1.php.net/manual-lookup.php/?pattern=test
しかし、彼らのページは壊れません。だから私はそれを見て、理由を見つけました:
<base href="http://ca1.php.net/manual-lookup.php" />
したがって、基本的に、すべての PHP スクリプトは追加の / を受け入れるようですが、すべてのリンクを絶対パスでコーディングしたり、ベース タグを使用したりしないと、誰かが追加の '/' を追加するたびにサイトが台無しになります。