0

.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 ファイルに何か問題がありますか?

4

1 に答える 1

0

ルールには、URL が として表示される原因はありませんwww.mydomain.com/index.php?article=1234。記事を開こうとしているリンクが何であれ、おそらくきれいな URL を生成していません。

于 2012-07-17T08:45:11.460 に答える