37

次の行だけで.htaccessファイルを作成しました。

オプション-インデックス

ただし、ディレクトリのインデックスは引き続き表示されます。

Apache2をインストールし、すべてのデフォルトを使用しています(apache2.confまたはhttpd.confは変更していません)。

OS:Ubuntu 12.04 (Precise Pangolin)
Apache2バージョン:Server version: Apache/2.2.22 (Ubuntu) Server built: Feb 13 2012 01:51:56

$ ls -l .htaccess
-rwxr-xr-x .htaccess

編集:

lanzzのアドバイスを受けて、.htaccessファイルにジブリッシュを追加したところ、.htaccessファイルが読み取られていないことがわかりました。

4

8 に答える 8

54

Apache構成で.htaccessの実行が許可されていることを確認する必要があります。仮想ホストの構成には、次の行が必要です。

AllowOverride All

ない場合は、.htaccessが有効になっていないのはそのためです。

于 2012-05-26T21:22:54.100 に答える
30

これを機能させるために、次のものを/etc/apache2/httpd.conf(Apache がインストールされている場合、デフォルトでは長さゼロのファイルです) に追加してから、Apache を再起動しました。Options -Indexesこれで、ファイルは必要に応じて機能します.htaccess。動作させるために最低限必要なものは次のとおりです。

/etc/apache2/httpd.conf :

<VirtualHost *:80>
        DocumentRoot /var/www
        <Directory / >
        </Directory>
</VirtualHost>

ファイルに意味不明な行を追加して、ファイルが読み取られているかどうかを確認するというlanzzの提案は.htaccess、問題の診断に役立ちました。

Evan Mulawskiのコメントによると、AllowOverideデフォルトはであることに注意してください。したがって、上記の最小限の行セットでは必要ありません。Allhttpd.conf

于 2012-05-26T23:07:56.363 に答える
9

ファイルがhttpd.confなくなったので、VPS で行う必要があるのは次のとおりです。

  1. に行く/etc/apache2/sites-enabled/
  2. ls探しているウェブサイトのファイルを見つけるために行うこと
  3. 対応するファイルをnano THE_CONF_FILE任意のエディターで編集します
  4. 異なるにAllowOverride None表示されるすべての値を次のように変更します<Directory> ... </Directory>AllowOverride All
  5. ファイルを保存して閉じます

  6. 次のコマンドを実行して、モジュールの書き換えを有効にする必要があります。sudo a2enmod rewrite

  7. 最後に、新しい構成を有効にするには、次を実行する必要があります。 service apache2 restart

今では魔法のように機能します!

于 2014-11-25T19:24:12.447 に答える
5

あなたが持っている場合

AllowOverride None

それを次のように変更します。

AllowOverride All

httpd.conf または /etc/apache2/sites-available/...conf のデフォルトの virtualhost ファイル

于 2013-12-17T16:56:35.977 に答える
3

/etc/http/conf/httpd.conf すべてを変更したファイルを編集して、RHELでこの問題を解決しました

AllowOverride None

AllowOverride All

また、RHEL で次のコマンドを実行して、httpd.conf の AllowOverride を確認できます。

grep -i AllowOverride /etc/conf/conf/httpd.conf
于 2016-08-10T19:11:51.620 に答える
1

また、AllowOverride All を vhost 構成ファイルに変更するだけでなく、.htaccess ファイルの先頭に次を追加する必要がある場合もあります。

RewriteEngine On
RewriteBase /

そうしないと、書き換えやリダイレクトが検出されない可能性があります。

于 2016-01-06T18:22:16.237 に答える