問題タブ [isapi-rewrite]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.htaccess - .htaccess を使用して www 以外の URL を www にリダイレクトする
基本的に IIS で .htaccess を有効にするHelicon の ISAPI Rewrite 3を使用しています。www 以外の URL を www バージョンにリダイレクトする必要があります。つまり、example.com は www.example.com にリダイレクトする必要があります。例から次のルールを使用しましたが、サブドメインに影響します。
これはほとんどの場合機能しますが、sub.example.com を www.sub.example.com にリダイレクトします。サブドメインがリダイレクトされないように上記のルールを書き直すにはどうすればよいですか?
iis - MOD_Rewriteリライトは、リライトルールの2回目の実行を呼び出しますか?
RewriteRuleがMOD_Rewriteによって実行されると、新しく生成された要求に対してすべてのMOD_Rewriteルールが再度実行されますか?特に次の例では、これによりループが発生しますか?
iis-7 - IIS7でのISAPI_Rewrite
私は何年もの間、Server 2003ボックスでHelicon(http://www.helicontech.com/isapi_rewrite/)のISAPI_Rewriteを使用しており、常に幸運に恵まれています。
2003ボックスのすべてのサイトを新しい光沢のあるServer2008ボックスに移行しています。新しいライセンスを購入したくないのですが、IIS7には機能が組み込まれていると聞きました。
すべての書き換えは、Apacheのmod_rewriteと同様に、.htaccess構成ファイルで設定されます。
この機能がIIS7に組み込まれたことがあるかどうか、またそうであれば、すべてを有効にする方法を説明する優れた記事を知っている人はいますか?
ありがとう。
iis-6 - 1 つのドメイン 2 つの個別のアプリケーション
www.one.com がメイン サイトですが、理想的にはサブディレクトリ (/uk) にある必要があるこのサイトの英国バージョンがあります。
1 つのドメインで複数のサイトを持つことができるように IIS を設定するにはどうすればよいですか?
または、2 つの別々のサイトを作成し、ISAPI_rewrite を使用して www.one.com/uk を指定して別のサイトから読み取ることができますが、URL は www.one.com/uk のままにすることはできますか?
coldfusion - ISAPI_Rewrite v2 を使用して ColdFusion サイトの URL を書き換える際に問題はありますか?
私は ColdFusion の開発を手伝うように頼まれました。タスクの 1 つは URL の書き換えを行うことで、主に URL パラメーターをよりクリーンな URL に変換します。
このサイトは、iis で実行されている cf8 を備えたホストされたサービス上にあり、Helicon Tech ISAPI_Rewrite v2 を使用しています。
気をつけるべきことはありますか?
ありがとう。
regex - ISAPI-Rewrite によるディレクトリの除外
ISAPI-Rewrite を使用してディレクトリを除外しようとしています (注: これは mod-rewrite の windows/iis ポートです)。
サイトのルートにある場合、除外したいディレクトリは「api」です。
これが私のルールです:
RewriteRule ^(/api/)(.+)$ $1$2 [NC, L]
リクエストは次のようになります: /api/v2/users?usernames=scottw
残念ながら、querstring 値は常に除外され、URL は /api/v2/users として書き換えられています。
(.+) が他のすべてをキャプチャするという仮定の下で攻撃しています。
助言がありますか?または、ディレクトリを除外するより良い方法はありますか?
ありがとう
更新:ルールも簡略化しましたが、何も変更されていません:
RewriteRule ^(/api/.+)$ $1
seo - Isapi Rewrite 301 リダイレクトは 404 として解決されます - 循環参照?
IIS Isapi Rewrite を使用して次のことをしようとしています...
次のように、seo に適した URL を (静かに) アプリケーションに適した URL に変換する必要があります。
十分に単純です。
ただし、検索エンジン (たとえば) で既にインデックス化されている URL を 301 リダイレクトして、seo に適したバージョンにする必要もあります。そのようです:
これらはそれぞれ、単独で正常に機能します。しかし、.ini ファイルに両方を含めると、最終的にブラウザのアドレス バーに /seo-friendly-url/ が表示されますが、404 が表示されます (はい、/test/index.cfm は確実に存在します!)。
循環参照のように見えることはわかっていますが、最初のルールは IIS とアプリケーションの間の URL を書き換えるだけです。リダイレクトがないため、Isapi Rewrite をもう一度実行することはありません。それとも私はそれについて間違っていますか?
Isapi Rewrite でのログ記録を有効にしましたが、次のように表示されます。
誰でもアイデアはありますか?
seo - Isapi Rewrite の 2 から 3 へのアップグレード - クエリ文字列が利用できない?
少し遅れましたが、Isapi Rewrite バージョン 2 からバージョン 3 にアップグレードしました。
次のスタイルのルールに問題があります。
ここでは、書き換えられた URL に渡される追加のクエリ文字列パラメーターが必要です。
これは IR2 では正常に機能しましたが、IR3 では追加のパラメーターを渡すことができませんでした。各バージョンの Regex tester .exe ユーティリティを両方持っているので、それらを試しました。
/seo-friendly/?hello=worldと入力すると、IR2 の正規表現テスターは$1: ?hello=worldと$2: hello=worldを言い ます。
しかし、IR3 は$0: /seo-friendly/と言い、 $1と$2は空白です。
クエリ文字列変数にアクセスできないようです。
ドキュメントで言及されているこのフラグを見つけました:
O (ノーマライズ)
処理前に文字列を正規化します。正規化には、URL エンコーディングや不正な文字などの削除が含まれます。また、URI の IIS 正規化では、クエリ文字列が完全に削除されます。そのため、クエリ文字列が必要な場合は正規化を使用しないでください
しかし、私は自分のルールに対してこのフラグを設定していません。この (明らかな) 正規化を停止するために設定できるグローバル ルールはありますか?
mod-rewrite - Isapi Rewrite - RewriteRule で一致するクエリ文字列パターンにアクセスする
私は Isapi Rewrite 3 (IIS の mod 書き換えクローン) を使用しており、クエリ文字列に基づいて URL を書き換えようとしています。次に、書き換えでそのクエリ文字列の一部を渡します。
したがって、次のような URL を入力すると: /test/home.cfm?page=default&arbitraryExtraArg=123
/test/index.cfm?page=home&arbitraryExtraArg=123のように書き換えてください。
次の条件/ルールがあります。
ただし、余分なクエリ文字列変数が渡されることはありません。%1 が空白のようです。
これがRewriteCondからパターンマッチを参照する方法ですよね?
ここで何が欠けていますか?
ありがとう!
編集: RewriteCond が完全に無視されているように見えます。私のログファイルは次のようになります。
そこに RewriteCond パターン チェックについて言及する必要がありますか?