私のApachehttpd.conf
ファイルでは、この宣言がVirtualHost
タグ内にあります。
RewriteEngine On
RewriteCond %{HTTP_Host} !^www.shanestillwell.com$ [NC]
RewriteRule ^(.*)$ http://www.shanestillwell.com/$1 [L,R=301]
そして、これは私の.htaccess
の中にあります
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
私のhttpd.conf
のルールは無視されているようです。 .htaccess
のルールはhttpd.conf
書き換えルールを消去していますか?
通常、ディレクトリ内の.htaccessファイルの設定は、httpd.confファイルの設定を上書きします。 httpd.confファイルを編集して次の行を変更することで、この効果を無効にできます。
<Directory ...>
AllowOverride all
に
<Directory ...>
AllowOverride none
これにより、.htaccessファイルがhttpd.conf設定を上書きするのを防ぎます。したがって、.htaccessファイルの設定は効果がありません。
<Directory ...>
とAllowOverride all
がある場合、.htaccessファイルにあるものはすべて以前のルールに置き換わります。
httpd.conf
またはドメインパスを指している限り、/
またはvirtualhost
にある可能性があります。