問題タブ [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.
iis - mod_rewriteを使用してIISのURLをクリーンアップする
mod_rewriteの問題があります。もっと正確に言うと、IISのmod_rewriteクローンであるISAPI_Rewriteに問題があります。具体的には、IIS7で実行されているISAPI_Rewritev3です。これはmod_rewriteと同じように動作することを目的としているため、私の問題がmod_rewriteにも当てはまることを願っています。
私の問題はこれに要約されます:私はbar.php
URLを介してアクセスしたいスクリプトを持っていますfoo
。私は最初にに書き直しfoo
ますbar
。次に、クリーンURLを実際のファイル名に変換してみます。
まだ「bar」ではなく「foo」と表示されているため、RewriteCond
は失敗しています。${REQUEST_FILENAME}
最初の書き換え後は更新されません。
どうすればこれを機能させることができますか?を書くだけでこれを修正できますRewriteRule ^foo$ bar.php
。ただし、URL再マッピングルールをファイル拡張子ルールとは別にしておくことを強くお勧めします。
asp.net - IIS 書き換え ala SO
というサイトがあるとしましょう
ユーザーが入力したときに次のようにリクエストを書き直したい:
内部的に次のように書き換える必要があります。
(これは、すべての質問に一意の ID があり、一意ではないタイトルがあり、ID のみがページの生成に使用される SO 質問リンクの処理方法に似ていると思います。この方法では、質問への古いリンクが引き続き機能します。質問のタイトルが変更された後も)
私はこれをしようとします:要求Application_BeginRequest
さglobal.aspx
れたページが「公開」ページであることを最初に認識します。それから私は
HttpContext.Current.RewritePath("~/public/default.aspx", False)
次に、~/public/default.aspx
ID をフェッチして、会社固有のページ (会社のロゴと名前など) を動的に生成します。これは私のローカル開発環境ではうまく機能していますが、サーバーでは Application_BeginRequest がトリガーされていないようです。これは、要求されたフォルダーが存在しないためだと思いますか?
この問題を解決するにはどうすればよいですか、またはこの動作を実装するためのより良い方法はありますか?
.htaccess - .htaccessを使用したSEO対応のURL
誰かがURLの書き換えを手伝ってくれませんか?
私は(例えば)これらのページを持っています:
そして、それらを次のように要求する必要があります。
私はIISを使用しており、最初はホスティングプロバイダーがhttpd.iniファイルでISAPI_Rewriteを使用していましたが、現在は.htaccessファイルでHeliconApeに切り替えています。http://www.isapirewrite.com/およびhttp://www.helicontech.com/ape/を参照してください。
ISAPI_Rewriteの方法で試してみました。
しかし、それは機能しません。
提案?
asp.net - IIS Express での ISAPI リライト
Visual Studio 2010 SP1 と IIS Express のリリースにより、ローカルの開発マシンで iis5 インスタンスの代わりに asp.net 3.5 Web サイトを実行したいと考えています。
ISAPI Rewrite を使用した URL 書き換えルールを除いて、コードはすべて正常に実行されます。ISAPI_Rewrite 3 を選択したのは、Apache の .htaccess ファイルに非常に似ているためです。
iis express で ISAPI Rewrite を使用するにはどうすればよいですか?
iis - 書き換えルールのヘルプ
次の RewriteRule があります。
私のURLがhttp://www.somedomain.com/Tonyの場合、これはうまく機能します
次の結果が得られます:/MyPage.aspx?Name=Tony
ただし、このタイプの URL で機能するように変更する必要があります: http://www.somedomain.com/MemberPages/Tony
残念ながら、私は正規表現があまり得意ではないので、助けていただければ幸いです。
ありがとうございました、
トニー
asp.net - ISAPI-Rewrite を使用して、書き換え対象の URL が存在する場合にのみ URL を書き換えるにはどうすればよいですか?
または反対に、URL が存在しない場合にのみ URL を書き換えるにはどうすればよいですか? たとえば、404 を傍受します。
コンテキストは次のとおりです。サイトを ASP クラシックから ASP.NET に徐々に移行しています。ゆっくりとは、9000 以上の .asp ページを一度に 1 ページずつ .aspx に変換することを意味します。
これを行っている間、リンク切れを防ぎ、検索エンジンでのランキングが失われないようにしたいと考えています。つまり、.aspx ページによって提供される場合でも、.asp URL はすべて存在し続ける必要があります。
私ができるようにしたいのは、.asp -> .aspx を書き換える ISAPI-Rewrite ルールを用意することです。ただし、ターゲット URL が実際に存在しない場合は、.asp を実行して返すだけです。
そのため、まだ somepage.asp を .aspx に変換していない場合、URL は書き換えられず、somepage.asp が表示されます。somepage.asp がなくなると、URL は somepage.aspx に書き換えられ、実行されて返されますが、Web ブラウザー/検索エンジンは somepage.asp を受け取ったと認識します。
将来のある時点で、.aspx ページに正規の URLを設定し、検索エンジンが都合のよいときに追いつくようにする予定です。
注: IIS でカスタム 404 を使用してファイル システムをチェックし、ターゲットの .aspx ページが存在する場合は Server.Transfer を実行してみましたが、asp クラシックから asp.net に転送することはできません。(「The specified 'Page Language="c#" ' option is unknown or invalid. error '8000d001'」というメッセージが表示されます) これが機能する唯一の方法は、Server.Transfer の代わりに 301/302 リダイレクトを実行した場合です。現時点では望ましくありません。(経営陣は妄想的で、オプションではないと言っています。)
isapi-rewrite - Isapi リライト: www から非 www へ、同時に http から https へ
私はそれをすべて試しました!
これ:
最初にhttpを入れない場合にのみ機能します
それを機能させるにはどうすればよいですか:httpがある場合はhttpsにリダイレクトし、wwwがある場合は非wwwにリダイレクトします
およびクエリの後のすべてのサブフォルダーで!
iis-6 - ISAPI書き換えを使用したWindows2003でのyourls.orgリダイレクトの問題
ISAPIリライトを使用して、使用しているWindows 2003 VPSサーバーにyourls.org(URL短縮サービス)をセットアップしました。私はすでにISAPIリライトをインストールしてWordpressで動作しているので、それが機能していることを知っています。私はこのページから提案されたルールを使用しました:
http://code.google.com/p/yourls/wiki/htaccess
ISAPIの書き換えでは、リダイレクトが機能していません。ページがループしていて、自分自身にリダイレクトしようとしています。
私は書き換えルールに精通していないので、助けていただければ幸いです。私が適用したルールは次のとおりです。
アプリケーションのwikiで見つけたものに基づいて、3番目の条件付き行を追加しました。
なぜこれが機能しないのか、誰かが何か光を当てることができれば、私はそれをいただければ幸いです。
T
apache - isapi_rewrite (win) から mod_rewrite (linux) への移行の問題
Windows で isapi_rewrite を使用してきましたが、Linux / Apache に移行したいと考えており、既存のルールを変換する際に問題が発生しました。私は次のURLを書き換えた後です:
訪問者/提供されたサンプル URL: *.php/param1/value1/param2/value/2/param3/value3/paramx/valuex
一致するもの:whatever.php?value1=param1¶m2=value2¶m3=value3¶mx=valuex
以前、isapi_rewrite で次のルールを使用していました。
しかし、LP (ループ) は Apache の mod_rewrite フラグではなく、このルールを mod_rewrite の適切なルールに置き換える方法がわかりません。
主なことは、パラメータ/値の数が不明であるため、?、&、および = をすべて / に置き換える必要があることです。パラメータとファイル名を削除することでパターンをよりきれいにすることができたことに感謝しますが、本当にやりたいことは、アプリケーションがリンクを参照する方法を変更する前に、アプリケーションを Linux に移行して動作させることです。
うまくいけばありがとう...
url-rewriting - (ISAPI_Rewrite) 特定のファイルが要求されたときにドメインを書き換える
リクエストに foo/foofile.txt がある場合に、URL をhttp://subdomain.example.com/foo/foofile.txtからhttp://example.com/foo/foofile.txtに書き換える条件を作成しようとしています 。初期化。誰かが私を正しい方向に向けることができれば、あらゆる助けをいただければ幸いです...
よろしくお願いします、B