UbuntuのApacheで.htaccessの使用を有効にする方法は?


15

Ubuntu 14.04(Apache 2.4.7)でhtaccessファイルの使用を有効にしようとしています。この質問には多くの重複がある可能性があることは知っていますが、まだ助けてくれませんでした。

.htaccess

ErrorDocument 404 /404.html

000-default.conf

<VirtualHost *:80>
AccessFileName .htaccess

ServerAdmin webmaster@localhost
DocumentRoot /var/www

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory /var/www/>
  Options Indexes FollowSymLinks Includes
  AllowOverride All
  Order allow,deny
  Allow from all
</Directory>
</VirtualHost>

他に何が必要ですか?


1
AllowOverride Allディレクティブは、.htaccessファイルのすべてのオプションを許可します。000-default.confは、サーバーにサイトが1つしかないことを前提としています。.htaccessファイルは機能していませんか?このサーバーでホストされているサイトは複数ありますか?
closetnoc 14

/ var / wwwには多くのフォルダーがありますが、仮想ホストは作成されません。/ etc / apache2 / sites-available /フォルダーには、000-default.confとdefault-ssl.confの2つのファイルが含まれています。htaccessファイルは/ var / www /にあります
David ZIP 14

たぶん 'DocumentRoot / var / www /'?(末尾のスラッシュ)
コバ14

/ etc / apache2 / sites-enabled /に000-default.confへのリンクが含まれていることを確認してください。/var/www/index.htmlファイルを変更すると、Webブラウザーでサーバーを表示したときにその変更を確認できますか?
スティーブンオステルミラー

回答:


26

最初の一歩

ファイルを開く

sudo vim /etc/apache2/apache2.conf

第二段階

この行の前にコメント記号(#)がある場合は削除します(行番号約187)。

AccessFileName .htaccess

第三段階

次に、ある行を見つけます

<Directory /var/www/>
     Options Indexes FollowSymLinks
     AllowOverride None
     Require all granted
</Directory>

「なし」を「すべて」に置き換えます

AllowOverride All

そして出来上がり... .htaccess動作します!!


3
変更はapacheコマンドを再起動するまで有効になりませんでした:service apache restart
タヒルヤシン

1
@TahirYasinが述べているように、Apacheを再起動することをお勧めします。sudo service apache2 restart
www139 16


1

私の場合、/ etc / apache2 / sites-enabled / 000-default.confに変更AllowOverride NoneするAllowOverride All役に立ちました。

他のすべての.confファイルにはすでにAllowOverride All


0
  1. では/etc/apache2/apache2.conf 削除コメント記号(#)からAccessFileName .htaccess
  2. Apache構成ファイルの名前は標準ではありません。あなたはそれに名前を変更することができますは、default.conf Windowsでとして名前を変更し、デフォルトのLinuxで。LinuxベースのOSでは、ターミナルで次のコードを実行します。

    sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/default
    

最初にアルファベット順に来るように、ゼロで名前が付けられます。default.confファイルがあり、anteater.comのサイトを作成すると、anteaterが最初にロードされるため、デフォルトのホストになります。このような問題を防ぐために000を保管してください。confファイルの名前は、.htaccessが機能するかどうかとは関係ありません。
スティーブンオステルミラー

1
「AccessFileName .htaccess」はすでにコメント解除されています。上記の答えは私を助けました。ありがとう。
デビッドZIP 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.