2

私はiirfでかなり単純なことをしようとしています。

wwwが欠落しているすべてのリクエストが欲しいです。追加するプレフィックス。

これは私のIsapiRewrite4.iniです:

RewriteCond %{HTTP_HOST} ^example\.com$ [I]
RewriteRule ^(.*)$ www.example.com/$1 [R=301,L]

これは私のSampleUrls.txtです:

example.com
example.com/grants
www.example.com
www.example.com/grants

TestDriver.exeと同じディレクトリにファイルを配置し、testdriver-dを実行します。すべてのテストは無視されます:

NO ACTION 'example.com' ==> --

NO ACTION 'example.com/grants' ==> --

NO ACTION 'www. example.com' ==> --

NO ACTION 'www. example.com/grants' ==> --

ありがとう、

アシュリー

4

2 に答える 2

1

TestDriverは、IIRFの書き換えルールをテストするためのスタンドアロンツールです。残念ながら、このツールは、サーバー変数をテストする条件を効果的に評価できないという点で制限されています。スタンドアロンのコンソールベースのアプリケーションにはサーバー変数はありません。

ドキュメントを確認してください。これがそれが言うことです:

注意:TestDriver.exeプログラムは便利なテストツールですが、Webサーバーのコンテキストでの実際のテストに取って代わるものではなく、置き換えることもできません。テストドライバーはHTTPサーバーのコンテキスト内では実行されないため、HTTPサーバー変数では機能しません。特に、TestDriver.exeでテストするiniファイルでRewriteCondを使用し、それらのRewriteCondステートメントがサーバー変数(たとえば、%{HTTP_URL}または%{HTTP_REFERER})を参照する場合、これらのRewriteCondステートメントはTestDriverで同じように動作しません。 ISAPIでの動作方法。このような条件のテストは、実際の運用パフォーマンスの検証には役立ちません。

于 2009-10-25T22:53:45.760 に答える
0

置換には絶対URLを指定する必要があります。それ以外の場合www.example.comは、パスセグメントとして扱われます。

RewriteCond %{HTTP_HOST} ^example\.com$ [I]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
于 2009-09-30T08:12:43.483 に答える