.htaccess ファイルで mod_rewrite を使用して、見栄えの良い URL を作成しています。ルート ディレクトリ内に作成されたフォルダーである2 つのディレクトリ ( subdir1
、 ) があります。subdir2
サブドメインではありません。.htaccess ファイルは、root と の 3 つのディレクトリにsubdir1
ありsubdir2
ます。
次の .htaccess ファイルはルート ディレクトリにあります。
Options All -Indexes
ErrorDocument 404 /404.php
FileETag MTime Size
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/(subdir1|subdir2)(/.*)?$ [NC]
RewriteCond %{REQUEST_URI} ^(.*)?$ [NC]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.*)$ /subdir1/ [R=301,QSA,L]
RewriteRule ^(.*)(\.html|\.htm)$ index.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/?$ index.php [L]
</IfModule>
これはsubdir1
ディレクトリにあります:
Options All -Indexes
ErrorDocument 404 /404.php
FileETag MTime Size
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /subdir1/
RewriteRule ^(.*)(\.html|\.htm)$ index.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/?$ index.php [L]
</IfModule>
すべてが正常に機能しています。ページを閲覧してwww.mydomain.com/subdir1/1234-myaritcle.html
そのコンテンツを読むことはできますが、クリーンな URL を作成せずに書き換えモジュールがオフになり、次の URL で記事が開くことがあります。www.mydomain.com/index.php?article=1234
助けていただけますか?問題の原因は何ですか? .htaccess ファイルに何か問題がありますか?