1

サーバー上に「work」というフォルダーがあり、以前は.htmlファイルが含まれていました。これで、すべてのファイルに.php拡張子が付けられますが、クライアントにはまだ.htmlファイルへの古いリンクがあります。サーバーのルートからすべての.htmlファイルを.phpバージョンにリダイレクトするのではなく、このルールを「work」フォルダー内にのみ適用する必要があります

ルートから私は使用します:

RewriteRule ^(.*)\.html$ $1.php [L]

うまくいきました。問題は、ルートに次のルールが適用されていることです(ワードプレスがパーマリンクに使用)

RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

そのため、私が設定した個々のリダイレクトが壊れています。以前は、以下を使用してそれぞれを個別に設定していました。

RewriteRule /work/index\.html /work/index\.php [RP]

したがって、「work」フォルダ内のすべての.htmlリンクを1対1のルールを使用して.phpバージョンにリダイレクトできる方法があるかどうかを知りたいと思います。それができない場合、リダイレクトを個別に設定するにはどうすればよいですか?

編集:IISでISAPIリライトを使用しています

4

1 に答える 1

1

次のルールを使用します。

RewriteRule ^(work)/([^.]+)\.html$ /$1/$2.php [R,L,NC]
于 2013-02-21T12:15:01.400 に答える