web-dev-qa-db-ja.com

JavaScriptフォルダーにアクセスできません

私はその週にサインアップして小さなubuntuVPSスライスをセットアップしましたが、1つの小さな問題を除いて、これまでのところすべてが順調に進んでいます。

2つの仮想ホストを設定していますが、それぞれのjavascriptフォルダーにアクセスできません。 www.domain1.com/javascriptまたはwww.domain2.com/javascriptに移動すると、次のメッセージが表示されます...

You don't have permission to access /javascript/ on this server.

ディレクトリの名前を別の名前(例:js)に変更すると、コンテンツに問題なくアクセスできます。予約されたキーワードか何かのようですが、JavaScriptフォルダーがなくても、404メッセージではなく同じメッセージが表示されます。

念のため、.htaccessファイルを削除しました。いいえ。ここで何が起こっているのでしょうか。

6
John Burke

UbuntuApache構成にはすでにAlias /javascript /usr/share/javascript/、/ etc/Apache2/conf.d/javascript-common.confを参照してください。このエイリアスを変更するか、このファイルを完全に削除することができますが、これが他の何かを壊すかどうかはわかりません。

9
AlexD

問題

JavaScriptを使用するWebアプリケーションは、HTTP経由でJavaScriptを配布する必要があります。すべてのスクリプトに共通のパスを使用すると、すべてのパッケージのHTTPサーバーでこのパスを有効にする必要がなくなります。

これは、/usr/share/javascriptエイリアスを作成し、ApacheWebサーバーでそれを有効にするパッケージです。

推奨される修正

それだけです。JavaScriptディレクトリに他の問題はありません。別の修正は、/usr/share/javascript/の名前を/usr/share/javascript-common/に変更し、名前を変更したディレクトリを指すようにjavascript-common.confのエイリアスを調整することです。これが将来のアップデートに影響するかどうかはまだわかりません。

別の修正:

/etc/Apache2/conf-available/javascript-common.confにアクセスすると、次のようになります。

Alias /javascript /usr/share/javascript/
<Directory "/usr/share/javascript/">
     Options FollowSymLinks MultiViews
</Directory>

したがって、禁止されたエラーを回避するために、この行にコメントする必要があります(# charを使用)(confが有効になっているファイルを直接編集することはお勧めしません)。その後、これを行います:

a2disconf javascript-common
a2enconf javascript-common
4
Tomás Ramírez

Apacheには「DirectoryIndexes」と呼ばれるオプションがあり、インデックスドキュメント(index.html、index.phpなど)のないフォルダへの生のパスにアクセスすると、通常のファイルブラウザのようにそのディレクトリ内のファイルとフォルダのリストが表示されます。ただし、DirectoryIndexesが無効になっている場合、フォルダーを表示しようとすると403(アクセス拒否)エラーがスローされます。

次のように/ javascript /ディレクトリに.htaccessファイルを作成します

Options +Indexes

ディレクトリをもう一度見てみると、ディレクトリ内のすべてのファイルのリストが表示されます。

1
Smudge