UbuntuのApacheでmod_rewriteを有効にするにはどうすればよいですか?


13

Ubuntu 10.04でApacheでmod_rewriteを有効にするにはどうすればよいですか?

rewrite.loadから/etc/apache2/mods-availableにコピーしようとしましたetc/apache2/mods-enabledが、うまくいきませんでした。

回答:


20

これを試してください:sudo a2enmod rewrite、それからApacheを再起動します。


4

a2enmodを使用するという黒曜石の答えが適切な解決策です。andolの方法は機能しますが、アップグレード時に機能しなくなる可能性があります。a2enmodが行うことは、単にシンボリックリンクを作成することです。したがって、次の2つは同じ、両方とも適切なソリューションです。

  ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/

または

  a2enmod rewrite

ただし、a2enmodは他の種類のファイルを検索します。一部のファイルには.confがあり、他のファイルもある可能性があります。このコマンドを学習しない理由はありませんが、バックグラウンドで何が起こっているかを知ることが重要です。

ファイルをコピーすると、将来の管理者が非常に不快になります。:)


まあ、それはローカルテストのためだけなので、大したことではありません。しかし、a2enmodとにかく簡単です。
ネイサンオスマン

2

実際、一種の間違った解決策ですが、rewrite.loadを./mods-available/から./mods-enabled/にコピーすることうまくいくはずです。その後、Apacheを再起動することを覚えていましたか?

いずれにしても、. /mods-enabled/には通常、. /mods-available/内の対応するファイルへのシンボリックリンクが含まれている必要があります。これは、Obsidianが述べたように、コマンドa2enmodおよびa2dismodで最も簡単に処理されます。

モジュールを有効にするだけでなく、書き換えをアクティブにする必要もあります。RewriteCond:sおよびRewriteRule:s を作成する前に、その構成コンテキストに「RewriteEngine On」が存在する必要があります。


それも機能します。MODが有効になっているシンボリックリンクに適切なアクセス許可を設定することを忘れないでください。そうしないと、髪が抜けてしまいます。
ネイサンオスマン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.