問題タブ [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-6 - IIS6 による動的 URL 書き換え
私は、既存の e コマース サイトを SE フレンドリーにすることを任されました。この場合、(とりわけ) ユーザーがバックエンドを通じて各ページ/製品の URL を変更できるようにすることを意味します。
このサイトは、IIS6 で実行されている古い ASP サイトです。http://www.codeplex.com/IIRFとhttp://www.helicontech.com/isapi_rewrite/を調べ始めましたが、ユーザーがURLを変更せずに変更できるようにする方法については少し疑わしいですサーバーに入れ、それらをハードコーディングします。
Ionic の Isapi Rewrite Filter は .ini ファイルから実行されるため、フォーム入力に基づいてこの ini ファイルに書き込むようにサイトのバックエンドを取得することを考えています。
これに関する経験やアドバイスはありますか?
編集:サーバーは専用です
apache - 新しいドメインに書き換えますか?URLクエリで?動作していません。:( ヘルプ
この書き換えルールがあります...
すべての最初のリクエストをworld.example.comからweb.example.comにリダイレクトします
これはうまくいきます。しかし、私のアプリケーションのいくつかは...
残念ながら、web.example.comに正しくリダイレクトされていません。代わりに、クエリパラメータなしでweb.example.comに移動します。
クエリパラメータとともにすべてのリクエストをweb.example.comに適切にリダイレクトするにはどうすればよいですか?
基本的に、それが何をすべきか...
ワールドをWebに変更し、クエリ文字列を渡すだけです。
ヘルプ
performance - 書き換えかハードウェアのアップグレードかをどのように決定するのですか?
動作が遅く、メモリを大量に消費する製品があった場合。
これら 2 つのオプションの間で何を決定するか、またその理由は何ですか?
- 5 桁、場合によっては 6 桁の「ザ」サーバーを購入すれば、この製品は完璧に機能します。
- それを変更するためのソースとリソースがあり、問題を修正するためのオプション 1 とほぼ同じ費用がかかりますが、4 桁のサーバーを取得できます。
performance - Apacheリダイレクト/最大書き換え
レガシーシステムから新しいシステムへの移行プロジェクトがあります。新しいシステムに移行すると、移行するオブジェクトの新しい一意のIDが作成されます。ただし、私のユーザーと検索インデックスには、古いIDのURLが含まれます。これを処理するためにapacheリダイレクトまたはリライトを設定したいのですが、その多数のオブジェクトでのパフォーマンスが心配です(約500Kの古いIDから新しいIDへのマッピングがあると予想されます)。
誰かがこれをこの規模で実装しましたか?または、Apacheがこの大きなリダイレクトマッピングに耐えられるかどうかを知っていますか?
winforms - WebForms / MVC から Windows フォーム プログラマーへ
最初にはっきりさせておきたいのですが、私は「私の技術はあなたの技術よりも優れている」タイプの投稿を探しているわけではありません。これは実際のシナリオであり、私はこの決定に直面しています。これを念頭に置いて、次のように説明します。
WinForms アプリケーションがあります。初期の .NET 1.0 で開始されましたが、最初に出荷されたバージョンは .NET 1.1 を使用していました。レイヤー (BusinessLayer.dll、Datalayer.dll、Framework.DLL など) がありますが、このアプリケーションの「長い」開発サイクルのある時点で、「プレゼンテーション」レイヤー (Win フォーム) が何らかのコードに感染しました。したがって、「コードとコードビハインドを含むプレゼンテーションとの分離」は、ある種の神話です。悪い慣行であろうとなかろうと、真実はアプリケーションがそこにあり、それが機能するということです。
何年も経ち、.NET 2.0 ができました。ゆっくりと移行しましたが、ほとんど問題なく機能し、あちこちでいくつかの呼び出しを変更する必要がありました。最後のバージョンでも同じことが行われましたが、.NET 3.5sp1. ある種の Web サービスが必要だったため、代わりに WCF を使用することにしました。それは正常に動作します。しかし、これらすべての .NET アップグレードにもかかわらず、アプリケーションのコードベースのほとんどは、5 年前と同じ古いロックンロールのままです。データオブジェクトには Gentle.NET (古くてメンテナンスされていません) を使用しています (5 年前はありがたいことでした!)。
私たちのプレゼンテーション レイヤーである winform は、完全に gdi+ カスタム コントロールの 90% を採用しているため、「見栄えが良い」ものです。(可能な限り、WinAPI をハッキングする必要はありません)。アプリケーションはタッチ ベースです (つまり、インクを使用しますが、それに依存しません) が、ボタン、ラベルなど、すべてが触覚デバイスで使用するように「設計」されています。(TabletPC またはタッチスクリーン)。もちろん、キーボード/マウスを使用するユーザーもいます。
これらすべてを念頭に置いて、このすべての web2.0 とインターネットの混乱 (および Jeff の投稿 ;)) を考慮して、Web テクノロジを使用してアプリケーションを書き直す可能性を検討しています。このアイデアは明らかに、お客様により多くの可用性をもたらし (いつでもどこでも好きなときにシステムを使用できる)、メンテナンスを減らします (アップグレードすることができ、すべてのお客様が即座にアップグレードされます) などです。ご存知のように、通常のインターネット対WinAppのもの。
問題は、これがヘルスケア業界であることを考えると、すべての顧客がデータベースをサーバーに「移動」することに前向きであるとは限らないことです。サーバーなので、独自のコピーがあります。大きな問題ではありません (ただし、手動で更新する必要がありますが、win32 アプリを 5 年間更新してきたことを考えると、それは問題ではありません!)。
さて、メインの「質問」に戻ります。
チームは ASP.NET の経験がほとんどなく、ASP 2.0 (1999/2000 年) で多くのプログラミングを行いましたが、それは HTML+VBScript+CSS のスパゲッティでした。すべての経験 (インターネット バブル!) の後、私たちは VB6 に戻り、次に C#.NET 1x に戻りました。私たちは、WinForms の C# 開発者の小さなチームです。前回の .NET 3.5 ライドで、Linq To SQL の経験をいくつか獲得し、気に入りました。とても自然で、「5年前にこれがあったら…」という感じでした。
これらすべてを考えると、アプリケーションの書き直しは「単純な作業」ではなく (既知の C#.NET でやりたいと思っていたとしても)、時間と計画が必要ですが、数十の間違いを修正することができ、5 年かかりました。アプリケーションを使用した経験から、顧客がソフトウェアをどのように使用したいか、および現在のアプリを設計したときに (自分たちで) どのような制限を作成したかについて、より良いアイデアを持っていると言えます。アプリケーションとビジネスの仕組みに関するすべての「知識」を適用して、設計、コード、および使いやすさの点ではるかに優れたアプリケーションを作成できます。.NET 1.1 にはジェネリックさえなかったのを思い出してください! ;) (ここにたくさんの ArrayList がぶら下がっているのを見るでしょう)。
追加のメモとして、Crystal Reports を使用しています (そして、いつものように、Crystal Reports は嫌いです)。インク コントロールも「必須」ではないと思います。HTML/CSS は、HTML が WinForms ではない (したがって、再現できないものがある) ことを認識していますが、私たちが望むように見えるように形作ることができます。
これを MVC (または WebForms) で計画するのはクレイジーだと思いますか? 私は MVC (Ruby on Rails のような) のアイデアが好きです (本の基本を超えて Ruby でプログラミングしたことはありません)。それは「ロケット科学」ではないはずですよね?
この質問全体が少し主観的であることは承知していますが、老朽化した Winforms アプリケーションを新しい ASP/MVC/XXX Web アプリケーションに置き換えませんか? あなたは経験がありますか、または試みました(そして成功したか失敗しましたか)?
使用者が何をすべきかをより適切に決定するのに役立つ洞察をいただければ幸いです。
前もって感謝します!
アップデート: 回答してくれたすべての人に感謝します。これが良い動きであるかどうかを評価します。確かに大変な作業ですが、デスクトップ アプリが古くなっており (古いネット 1.1 ハックを使用)、 Vista と W7 ではほぼ問題なく動作していましたが、将来のアップデートで壊れる可能性があります。また、アプリケーションの「多かれ少なかれコア」部分の多くは、設計が不適切なアイデアを露呈しているため、特定のタスクを達成するためにあちこちでハッキングする必要がありました。一部は経験不足であり、一部はビジネスがどのように機能したかについての 100% の知識の欠如です (そして、顧客は自分が何を望んでいるのかわかりません)。新しいアプリケーション (どのような形式であっても) により、すべてのユーザーの知識を保持しながら、より優れた基盤を作成できます。しかし、それは大変な作業です :) したがって、ここではこれらすべてのオプションを検討します。一部の方がおっしゃっているように、
もう一度、すべてに感謝します!
.htaccess - 画像が存在しない場合は .htaccess で no_picture.png を表示する
要求された画像が存在しない場合、no_picture.png を表示したい。.htaccess で行う必要があります。どうもありがとう。
.htaccess - ページを古いサイトから新しいサイトにリダイレクト - 1 つずつ
ページごとに、いくつかの古いドメインから 1 つの新しいドメインにページをリダイレクトしようとしています。
ページ 1: http://www.example.org/default.asp?id=1はhttp://www.example2.org/newpage.html ページ 2: http://www.example2.org/defaultにリダイレクトします。 asp?id=2はhttp://www.example.org/contact.htmlにリダイレクトします
...等々。すべての古いページは、特定の新しいページにリダイレクトされます。
次の行に沿って .htaccess に何かを書き込もうとしました
しかし、これまでのところ運がありません。mod_alias が有効になっています...
また、次のように RewriteCond と RewriteRule を使用してみました。
言い換えれば、3 つのサイト/ドメインを 1 つのサイトにマージするとともに、ID ベースからエイリアス ベースへのページごとのリダイレクトを実行したいと考えています。
有用な解決策があることを願っています。前もって感謝します!
apache - mod_rewriteルールの一致、循環実行の停止
ディレクトリにold.htmとnew.htmがあり、誰かがold.htmにアクセスするたびにfile.phpをロードし、誰かがnew.htmにアクセスするたびにold.htmをロードする必要があります。
これが私の非機能ルールです:
old.htmにアクセスすると、file.phpが呼び出されます。new.htmにアクセスすると、old.htmに再度「アクセス」され、file.phpに書き換えられます。したがって、最終的に、new.phpにアクセスするとfile.phpがロードされますが、old.htmで停止したいと思います。
何か案は?
役立つ場合は、RewriteLogLevel3の出力を次に示します。
old.htm
new.htm
regex - 書き換えルールの空の文字列に一致する正規表現は何ですか?
http://www.website.comをhttp://www.website.com/sampleにリダイレクトしようとし ています。しかし、私は空の URL 文字列 (「/」の有無にかかわらずそれを理解できる場合は余分なポイント) のみが必要であり、それに一致する書き換えルールを作成する方法がわかりません。
誰かがここで私を助けてくれますか?
.htaccess - .htaccess 書き換えルール
次の条件の書き換えルールを作成するにはどうすればよいですか。
- /root/projectname/trunk/www/ としてディレクトリを設定しています
/root/を指すようにhostsファイルにsite.localをセットアップしました
- /root/projectname/ ではなく /root/project_name/trunk/www/ からデータを取得するために、このリクエストhttp://site.local/projectnameを作成するにはどうすればよい ですか?
今はRewriteRule ^projectname/*$ projectname/trunk/www/ [L] として持っていますimage1.jpgは機能しません。
啓蒙してください。
ありがとう、ティー