問題タブ [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.
asp.net - IIS7 の .aspx ページで Global.asax が起動しない
さまざまな形式でスローされたリンクを処理できるリンク リダイレクト サービスを実行しています。これらの形式の 1 つは、リンクの末尾にリンク先 URL を追加することです。たとえば、
http://url.fwd/abcd/http://www.mydomain.com/page.aspx
これは、過去 2 年間 Windows Server 2003 / IIS6 ボックスで動作していましたが、現在 Windows Server 2008 / IIS7 セットアップに移行しようとしており、動作しなくなりました。
URL のコロンに関する問題について読みましたが、'.aspx' で終わらないページには影響しません。例えば、
http://url.fwd/abcd/http://www.mydomain.com/page.php
正常にリダイレクトされます。
http://url.fwd/abcd/http://www.mydomain.com/page.aspx
も正常に動作します (2 つ目のコロンがないことに注意してください)。間違った URL であるにもかかわらず、カスタム 404 ページを使用する URL 転送システムによって処理されます。古いシステムでも同様の問題があったため、「.aspx」のケースを処理するためのメソッドが Global.asax > Application_Error に記述され、問題なく動作しました。
新しいサーバーでは、Global.asax で Application_Error がスローされることはありません。代わりに、System.NotSupportedException - 「指定されたパスの形式はサポートされていません」が発生します。この System.NotSupportedException は、Global.asax ページで処理する正確なケースであるため、確実に発生していません。
いくつかのフォーラムの投稿に示されているレジストリ キーを変更しました。
.aspx のハンドラー マッピング設定を変更しようとしました。
統合ではなくクラシック モードを使用するようにアプリ プールを設定しようとしましたが、画像や CSS などの静的コンテンツがまったく表示されないというまったく別のエラーが発生します。Windows の機能で静的コンテンツが有効になっていることを確認しましたが、有効です。クラシック モードでは、'.aspx' 要求は 2 つの Bad Request エラーをスローし、まったく情報がありません。私が得るエラーページのコードは文字通りです
不正なリクエスト<html><body>不正なリクエスト</body></html>
更新: 静的ファイルのハンドラー マッピングをこのページにある形式に変更しました http://improve.dk/blog/2006/12/11/make-url-rewriting-on-iis7-work-like-iis6 ただし、 、著者が正しく指摘しているように、これはハックであり、IIS7 での正しい方法ではありません。また、クラシック モードでの静的ファイルの問題のみが修正されます。'.aspx' ページは、クラシック モードでもエラーをスローします。
この時点で、どんな考えや意見も大歓迎です。
asp.net - ASP.NET チルダ (~) を使用した ISAPI 書き換えパスの維持
私のチームは、ASP.NET 3.5 から ASP.NET 4.0 にアップグレードしています。現在、Helicon ISAPI Rewrite を使用して、がクエリ文字列変数であり、(当然のことながら) 仮想ディレクトリである場所にマップhttp://localhost/<account-name>/default.aspx
しています。http://localhost/<virtual-directory>/default.aspx?AccountName=<account-name>
<account-name>
<virtual-directory>
アップグレード前にチルダ (~) が解決されhttp://localhost/<account-name>/...
(これを実行したい)、アップグレード後にチルダが解決され、クエリ文字列が必要なhttp://localhost/<virtual-directory>/...
ためエラーが発生します。<account-name>
システムには、相対パスだけでなく URL 全体を使用する機能がいくつかあるため、すべてを相対パスに置き換えることは避けたいと思います。
価値があるのは、Windows 7 で IIS7、ASP.NET 4.0 を搭載した Visual Studio 2010、および 64 ビットの Helicon ISAPI Rewrite を使用していることです。ASP.NET 3.5 バージョンに戻しても問題なく動作します (4.0 アプリ プール内にない限り、IIS で何も変更されていないと思います。3.5 と 4.0 の間で切り替えると、アプリ プールを変更する必要があります)。 IIS で)。
何か案は?前もって感謝します!
apache - ISAPI Rewrite がクエリ文字列でリクエストをリダイレクトしない
isapi_rewrite のフル バージョンをインストールし、プロキシ ディレクティブをセットアップして、フォルダー「ngis」(任意のポート) 内のワークステーションへのすべてのトラフィックが別のサーバーに送信されるようにしました。これは、isapi_redirect を製品サーバーにロールアウトする前に適合性を確認するためのテスト目的です。
次のようなルールがあります。
RewriteRule ^ngis/(.+)$ http://10.2.25.157:8080/ngis/$1 [NC, P]
次のように URL を入力すると、これは完全に機能します。
http://10.1.111.20:8080/ngis/QueryEngine.ptl/DocTree(%60/2007/MELBOURNE/R01%60,%601%60).xml
ただし、次のようなクエリ文字列を使用して UIRL を入力すると、次のようになります。
http://10.1.111.20:8080/ngis/QueryEngine.ptl/DocTree(%60/2007/MELBOURNE/R01%60,%601%60).xml?VIEW=RAW
「ページが見つかりません」というエラーが表示されます。
ログを見ると、手順は同じようです。上記の 2 つの要求のログ エントリは次のとおりです。
ご覧のとおり、isapi_rewrite に関する限り、その役割は果たしています。ただし、ターゲットサーバーがリクエストを受信していないことを確認できます(問題を診断するためにデバッグしているためです!)
この問題は、「?」の存在が原因のようです。およびいくつかのクエリ文字列パラメーター。
RewriteRule と RewriteProxy の両方を試しましたが、同じ問題が発生しました。
何か案は?乾杯。
apache - ISAPI Rewrite から Mod_REwrite への移行
現在 ISAPI Rewrite を使用しています
ColdFusion アプリを Apache に移行することに興味があるため、MOD_Rewrite を使用したいと考えています。これは可能ですか?それとも、すべてのリライトをリライトする必要がありますか?
iis - IIS と ISAPI Rewrite を使用して HTTPS を強制する
私は HTTPS を強制するように取り組んでおり、ユーザーが HTTP を使用している場合は、ユーザーをリダイレクトします。何らかの理由で、私の書き換えルールは私の製品環境ではうまく機能しますが、私の開発環境では機能しません。
Prod ではうまく機能し、ユーザーをリダイレクトします。Dev では、この非常に奇妙なページは表示されません。
誰かがこれを見たことがありますか、またはここで何が起こっているかについてのアイデア/ポインタを持っていますか?
ありがとう
php - あるRewriteRuleを別のRewriteRuleとうまく連携させる必要があり、mod_rewriteの原則についての理解が恥ずかしいほど弱い。
私は次のシステムを持っています:
Windows Server '03
IIS 6(私を撃ちます)
PHP 5.2.14
Wordpress 3.0.1
WPML 1.8.1.2
私はWordpressを既存のトラフィックの多いサイトに追加しました。これを呼び出すディレクトリにあります。
mod_rewriteのような機能については、HeliconのISAPI_Rewrite3.1.0.76を使用しています。Wordpressのインストールで「きれいな」パーマリンクを有効にするために使用しています。単一のルールはこれです:
RewriteRule ^ / wordpress /(?! index.php)(?! wp)([^。] *)$ /wordpress/index.php/$1 [I、L]
しかし、私は別のルールを追加する必要があります、そしてそれを考え抜いてそれを打ち破るという私の二重の戦略のどちらも実を結びませんでした。
私のサイトは完全にバイリンガルです。次の2つのサブディレクトリのいずれにも該当しないページはありません。
英語の場合はhttp:// thehost / en /、および
スペイン語の場合はhttp:// thehost /sp/。
これは、Wordpressのインストールであっても、私が維持しようとしている規則です。私は現在、いくらかハッキングされたバージョンのWPML(Wordpress Multilingual plugin)を運用しており、言語に関係なく、すべてのページと投稿のURLに/en/または/sp/が含まれるように機能します。これにより、WordpressのURLを他のサイトと同じURL規則に準拠させることに、私は非常に近いと信じるようになりました。おそらく、RewriteRuleは1つだけです。しかし、私の問題は、説明したように、それを完全に機能させることができないということです。
したがって、WordpressのインストールのどこかにこのURLがある場合は、次のようになります。
http:// thehost / wordpress / en / 2010/08 / omg-this-post-is-in-english /
どうすれば変換できますか
http:// thehost / en / wordpress / 2010/08 / omg-this-post-is-in-english /
Wordpressのパーマリンクを失わないようにしながら?/ en /を正しい場所(^ / en / wordpress /(。*)/ wordpress / en / $ 1)に入れ替えることができましたが、2つのルールをうまく組み合わせることができません。それが私の問題です。まあ、それとstackoverflow.comに適していない他のいくつか。
御時間ありがとうございます。
regex - URL書き換え正規表現の質問
ここでの isapi 書き換えの正規表現は、URL に変数を渡していません
次のような変数を渡そうとしています: www.domain.com/z34232/ProductName.html? 参照=魔法
しかし、コードは「ref=magic」文字列を無視しています
どんな提案も非常に役に立ちます。残りの文字列はそのままにしておく必要があります。
iis - ISAPI 書き換え - サブディレクトリを無視
URL から index.cfm を強制的に削除するために ISAPI フィルターを使用しているサイトがあります (つまり、http://www.site.com/index.cfmがhttp://www.site.com/になります)。これは、サイトのパスワードで保護された領域 (サイトのこの部分は SEO に影響しないため、書き換える必要はありません) を除いて、ほとんどのサイトで問題ありません。
私がオンラインで読んだことから、index.cfm拡張子を削除する書き換えステートメントを無視する書き換え条件を設定する必要があります。
明確にするために、 http://www.site.com/では通常どおりに書き換えが動作するようにしたいのですが、ユーザーがここに移動したときはそうではありません: http://www.site.com/workflow/
どんな助けでも大歓迎です。ありがとうございました。
編集: Cade が推奨するルールを試しましたが、ワークフロー サブディレクトリに移動しようとすると、 index.cfm がまだ削除されているようです。何らかの理由で index.cfm を削除すると、ワークフロー ポータルにログインできなくなります。助言がありますか??
ありがとう!
wordpress - IIS6 で ISAPI_rewriter を使用した mod_rewrite の問題
私が抱えている問題は、ISAPI_Rewriter を実行している IIS6 サーバーに基づいています。
状況は、IIS6 で Wordpress を実行していて、ISAPI_Rewriter が mod_rewrite の代わりとして機能し、適切に機能しているということです。私の問題は、Wordpress 用に URL を書き換えると (そのため、index.php ファイル名は必要ありません)、404 が表示されることです。よく検索した結果、ASP.net (または同様のもの) は URL の末尾に eurl.axd/[ランダムな文字列] を追加していたため、これが Wordpress リクエストに送られ、それを壊していました。要求された URL を出力するように Wordpress テンプレートを設定すると、次のようになります。
http://www.example.com/index.php/about/eurl.axd/b552863f2d5e9841b5d8b79b44ac02e8/
これは、IIS システム内のさまざまなものの序列が原因であり、犯人はプロジェクトの別の部分を実行する必要があるためだと思います。ISAPI_Rewriter を使用して URL をきれいにしたいので、次のことを知りたいです。
システムにフィードする前に mod_rewrite で eurl.axd/[string] を削除する方法はありますか?
私の .htaccess ファイルは現在次のように表示されます。
いつも大変お世話になっております。
編集: 提案に基づいて htaccess を調整しましたが、実行した簡単なテストからうまく機能しているようです。以下に掲載しました。
windows - ISAPI Rewrite 3 の URL Rewrite から特定の URL を除外する
IIS 6 で Drupal CMS Web サイトを構築し、ISAPI Rewrite 3 を使用して URL を読みやすくしています。私の問題は、Drupal サイト内にある仮想ディレクトリが、Drupal Web サイト フォルダーの外部のローカル ディレクトリを指していることです。この仮想フォルダに関連する URL を ISAPI Rewrite で書き換えたくありません。例えば:
www.domain.com - すべてを書き換える
www.domain.com/pdf/ - URL 書き換えから除外
これは可能ですか?
その他の情報: Drupal バージョン 6.19 -- ISAPI Rewrite 3 -- IIS 6 -- Windows Server 2003 R2
編集 #1: 除外するフォルダーには pdf ドキュメントが含まれています。現在、URL (www.domain.com/pdf/thisdocument.pdf など) を介して PDF を開こうとすると、404 ページが見つからないというエラーが表示されます - ISAPI Rewrite によって処理されます。