0

1. サーバー - アプリケーションがデプロイされる 3 つのマシンがあります。これを Machine1 と呼びます。2. いくつかのファイルが保存されている 2 番目のマシン。それをABCマシンと呼んでください。3. Machine1 にデプロイされたアプリケーションにアクセスしているマシン。

たとえば、http://testapplication.com:8080 /pagedirectory/viewCart.php とします。

viewCart.php には、 のように表示されるリンクがいくつかあります\\ABC\Folder1\file.xml。入力するかブラウザにコピーしてこのパスに直接アクセスすると、機能し、ファイルを表示できます。しかし、Webページをクリックしても開かず、エラーが発生します -The requested URL /pagedirectory/\\ABC\Folder1\file.xml was not found on this server.

このリンクにマウスを合わせると、ブラウザの下部にあるステータス バーに

http://testapplication.com:8080/pagedirectory/\\ABC\Folder1\file.xml

そのため、ページが呼び出された場所からベースディレクトリをすべてのリンクに追加するため、エラーがスローされるようです。

私のマシンからページに表示されている上記のリンクをクリックしようとすると、ログはFound %2f (encoded '/') in URI (decoded = '/somepath')...returning 404 refererApacheログに表示されます。ホストされているマシンでアプリケーションにアクセスすると、問題なく完全に機能します。それで、私は何を間違っていますか?いくつかの投稿で使用するのを見ましたが、AllowEncodedSlashes Onそれらをどこに置くべきかわからず、仮想ホストを使用していません。

助けてください !!。

4

1 に答える 1

0

いくつかのアイデア:

  1. これらの「\」を URL 用に逆にする必要があります
  2. ベースディレクトリを追加する場合は、相対 URL を使用している可能性があります。href="something" の場合、/base/directory/something に移動します。ただし、絶対 URL href="/something" を使用すると、/something に移動します
  3. 相対 URL でない場合は、apache conf をチェックして、ファンキーな書き換えルールが実行されていないことを確認してください。
于 2012-09-25T15:29:25.097 に答える