回答:
Ubuntuを使用している場合は、ファイルを編集します/etc/apache2/apache2.conf
(ここにはの例があります/var/www
)。
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
それを次のように変更します。
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
その後、
sudo service apache2 restart
またsudo a2enmod rewrite
、モジュールの書き換えを有効にする必要がある場合もあります。
sudo a2enmod rewrite
、それでうまくいきました。Ubuntu 14.04 LTSの場合。それが誰かに役立つことを願っています。
IncludeOptional conf-enabled/*.conf
最後の行にがあることがわかりapache2.conf
ます。apache2.conf
代わりにそれが優先されるようです。
の主な目標はAllowOverride
、Apacheのメイン構成ファイル(主に/ etc / apache2 /にあるファイル)のマネージャーが、構成のどの部分をアプリケーションによってパスごとに動的に変更できるかを決定することです。
サーバーの管理者でない場合は、これらの管理者が許可するAllowOverrideレベルに依存します。これにより、重要なセキュリティ設定を変更できないようにすることができます。
マスターApache構成マネージャーである場合はAllowOverride None
、.htaccessファイルに基づいて、見つけたすべてのgoogle_basedサンプルを常に使用Directory
し、メイン構成ファイルのセクションに転送する必要があります。以下のための.htaccessの内容として.htaccess
内のファイル/my/path/to/a/directory
と同じである<Directory /my/path/to/a/directory>
ことを除いて、命令.htaccess
の動的ごとのHTTPリクエストの構成変更は、Webサーバーを減速ものです。.htaccess
チェックのない静的構成を常に優先します(.htaccess
変更によるセキュリティ攻撃も回避します)。
ちなみに、あなたが使用する例では<Directory>
、これは常に間違っています。ディレクトリの指示には、常に<Directory />
or <Directory C:>
またはのようなパスが含まれています<Directory /my/path/to/a/directory>
。そしてもちろん、これは中に入れることができない.htaccess
よう.htaccess
Directoryの命令のようなが、このディレクトリ内のファイルの存在です。もちろん、この命令はファイルのセキュリティレベルを管理しているためAllowOverride
、を変更することはできません。.htaccess
.htaccess
後藤メモ帳でyour_severpath/apache_ver/conf/
ファイルhttpd.conf
を開きます。
この行を見つけます:
#LoadModule vhost_alias_module modules / mod_vhost_alias.so
ハッシュ記号を削除します。
LoadModule vhost_alias_module modules / mod_vhost_alias.so
その後に移動します <Directory />
に変更:
<Directory />
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
次に、ローカルサーバーを再起動します。
Order allow,deny
とは、Allow from all
Apacheのためのもので2.2およびそれ以前。Apache 2.4では、これらの2行はRequire all granted
他の回答に示されているように置き換えられます。
Linuxでは、ドキュメントルートへのアクセスを緩和するために、次のファイルを編集する必要があります。
/etc/httpd/conf/httpd.conf
また、アクセスを緩和するディレクトリレベルに応じて、ディレクティブを変更する必要があります
AllowOverride None
に
AllowOverride All
したがって、/ var / www / htmlディレクトリのファイルへのアクセスを許可する場合は、次の行を次のように変更する必要があります。
<Directory "/var/www/html">
AllowOverride None
</Directory>
に
<Directory "/var/www/html">
AllowOverride All
</Directory>
Linuxを使用している場合は、次のディレクトリにあるコードを編集できます。
/etc/httpd/conf/httpd.conf
さて、ここでちょっとコード行を見つけてください
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
</Directory>
AllowOveride None をAllowOveride Allに変更します
これで、他のオペレーティングシステムがhttpd.confのファイルを見つけて編集しようとした場合に、ディレクトリ内の.httacessファイルにあらゆる種類のルールを設定できるようになりました。
now here fine the code line kinda like # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. #Sep 11, 2013 apache - How to Set AllowOverride all - Stack Overflow stackoverflow.com/questions/18740419/how-to-set-allowoverride-all
httpd.conf
ファイルではなくファイルに設定したいと思い.htaccess
ます。
使用しているOSはわかりませんが、Ubuntuのこのリンクから、何をすべきかについてのヒントが得られる場合があります。
https://help.ubuntu.com/community/EnablingUseOfApacheHtaccessFiles
他のユーザーが.htaccessの使用を許可するために使用されるallowoverideディレクティブの使用についてここで説明したように。他のユーザーが.htaccessを書き込むためのアクセス権を持っている場合は、allowoverride allを使用しないでください。代わりに、特定のモジュールを許可するために、allowoverideを使用してください。
などのAllowOverride AuthConfig mod_rewrite
代わりに
AllowOverride All
mod_mimeのようなモジュールはサーバー側のファイルをプレーンテキストとしてレンダリングできるからです。
SuSE Linux Enterprise Server
適切なファイルを編集していることを確認して くださいhttps://www.suse.com/documentation/sles11/book_sle_admin/data/sec_apache2_configuration.html
httpd.conf
メインのApacheサーバー構成ファイル。このファイルを変更しないでください。主にincludeステートメントとグローバル設定が含まれています。ここにリストされている関連する構成ファイルのグローバル設定を上書きします。仮想ホスト構成のホスト固有の設定(ドキュメントルートなど)を変更します。
そのような場合vhosts.d/*.conf
は編集する必要があります
さらに、これらの正しい回答は、ウェブサーバー構成の一部の設定SSL
が一致していないために、同じエラーが発生する場合があります。(明らかに.htaccess
ファイルを使用しない場合)。
<Directory>
ディレクティブはパス引数が必要です。