
/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
.htaccess
Apache に詳細な設定をファイルで探すように指示するディレクティブです。
その 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>