web-dev-qa-db-ja.com

mod_rewriteがまったく機能しません

Localhostに小さなWebサイト(学習目的で作成)があり、。htaccessを取得しようとしています(。htaccessの完全な初心者であることに注意してください)。これまでのところ、私は。htaccessがサーバーによって読み込まれないことを発見しました(カスタム404ページを作成しようとしました-変更なし)。

Raspberry Piでサーバーをセットアップし、ローカルネットワーク経由でアクセスしています。ただし、Sudo a2enmod rewriteを使用してmod_rewriteを許可した(およびApache2を再起動した)後でも動作しません。

助言がありますか?追加情報を求めます。私はそれに答えるために最善を尽くします。

2
rancor1223

サーバーが.htaccessを読み取っていない場合は、最初に修正する必要がある問題です。 .htaccessファイルの有効化は、AllowOverrideディレクティブを使用して行われます。これは、追加の構成情報について、指定されたフォルダーでそのファイルを探すようApacheに指示します。

デフォルトのvhost(/etc/Apache2/sites-available/defaultのような場所になります)を使用している場合、そのファイルを確認してください:

AllowOverride None

次のように変更します。

AllowOverride All

そのファイルに複数回表示される場合は、DOCUMENT_ROOTディレクトリに関連するもののみを編集します。

行がそこにない場合は、代わりにメインのApache構成ファイルを確認してください。

新しいvhostを作成した場合、新しい<Directory>ブロックを追加する必要があります。

<Directory "/path/to/your/docroot">
    AllowOverride All
</Directory>

または、.htaccessファイルに入れたものはすべて、代わりにvhost自体に入れることができます。

2
Tim Fountain