構成設定への最小限のアクセスで共有ホスティングを使用しています。
次の内容で、多かれ少なかれ空のHTMLファイルemptypage.html
を作成しました。
<!DOCTYPE html>
<html>
<body>
</body>
</html>
エンコードされたURLをクエリ文字列パラメーターとして渡すと、サーバーから403エラーが発生します。
URLの例:
http://example.com/emptypage.html?u=http%3A%2F%2Fexample%2Eorg
ただし、エンコードされたURLが同じドメイン用である場合、ページは正常に表示されます。
URLの例:
http://example.com/emptypage.html?u=http%3A%2F%2Fexample%2Ecom
同様に、URLの先頭から「h」が削除されると、ページは正常に表示されます。
URLの例:
http://example.com/emptypage.html?u=ttp%3A%2F%2Fexample%2Eorg
これは、ローカル.htaccess
ファイルでオーバーライドできるWebサーバー設定の結果でしょうか?私のWebホストはApacheを使用しています(どのバージョンかはわかりません)。
注:以前に 類似の質問 を尋ねましたが、よく理解されておらず保留されていました。それ以来、この問題を引き起こしている正確な条件を把握するために、さらに研究を重ねてきました。
.htaccessファイルをチェックして、403の原因となっているファイルがないか確認します。
また、サーバー管理者にhttpd.conf(Apacheの構成ファイル)をチェックして、エラー403を参照しているものがあるかどうかを確認してください。
そして最後に、特定のURLをブロックする特別なモジュールがインストールされる場合があります。
Htmlページは静的なページであるため、クエリ文字列を追加する場合、ファイル拡張子は.html以外にする必要があります。 (パラメーターに基づいて変化しないページ)。