上位ディレクトリの .htaccess が無視される

上位ディレクトリの .htaccess が無視される

/var/www/html/htc ディレクトリに bookmatic.net への特定のルールを含む .htaccess ファイルがあり、/var/www/html のすべてのドメインへの一般的なルールを含む別の .htaccess ファイルがあります。

bookmatic.net にアクセスすると、/htc の .htaccess ファイルは正常に動作しますが、/html のファイルは無視されます。どなたか助けていただけませんか?

httpd.conf 内の bookmatic.net の仕様は次のようになります。

<VirtualHost *:443>
    ServerName bookmatic.net
    ServerAlias *.bookmatic.net
    DocumentRoot /var/www/html/htc
    AllowEncodedSlashes On

    <Directory /var/www/html/htc>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
        LimitRequestBody 25000000
        LimitXMLRequestBody 25000000
    </Directory>

    RewriteEngine on
</VirtualHost>

答え1

AllowOverride All.htaccessApache に詳細な設定をファイルで探すように指示するディレクティブです。

その vhost は、内のファイルをカバーしないように、.htaccess内のファイルおよびそれより深いファイルを検索するように Apache に指示します。/var/www/html/htc.htaccess/var/www/html

これを解決する 1 つの方法は、次のような別のブロックを作成することです (httpd.confより意味がある場合は、この vhost ではなく、次のようにすることもできます)。

<Directory /var/www/html>
     AllowOverride All
</Directory>

答え2

AllowOverride Allにはがあります<Directory /var/www/html/htc>。 では許可されていないようです/var/www/html。以下をお試しください。

<Directory /var/www/html>
    AllowOverride All
</Directory>

関連情報