問題タブ [url-rewriting]
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.
url - オプションまたは「余分な」URL を構成するにはどうすればよいですか?
余分な/オプションの URL エンティティ (エイリアスなど) をどのように構成/処理しますか?
SOは良い例です:
- stackoverflow.com/questions/99999999/
- stackoverflow.com/questions/99999999/ question-goes-here (悪い例ですが、もっと良い例は思いつきませんでした)
Amazon の URL はさらに紛らわしい (例: Kindle )
- amazon.com/gp/product/B000FI73MA/
- amazon.com/ Kindle-Amazons-Wireless-Reading-Device /dp/B000FI73MA/
[編集] これはおそらく最善の行動計画ではありませんが、単一のサーバーに対して一般的にこれを求めています。
asp.net - URLにカンマを使用できますか?
私は通常、URL書き換えを使用して、コンテンツIDを自分のWebサイトに渡します。したがって、これは
に書き換えます
特定のアプリケーションでは、複数のIDを1つのページに渡す必要があるため、これを受け入れるように書き直しました。
これはCassini(Visual Studio用の組み込みのアドホックWebサーバー)では正常に機能しますが、IISを実行しているライブサーバーで試してみると、「InternetExplorerはWebページを表示できません」と表示されます。これはIISの制限ですか?カンマの代わりにダッシュまたはアンダースコアを使用する必要がありますか?
url - URL 書き換え - 国際文字
特殊文字/国際文字を含む URL をどのようにフォーマットすればよいですか?
現在、私はURLを「見栄えのする」ようにしようとしています。
に変換されます:
一部の国際文字 (ü = ue、æ = ae、å = aa) は変換でき、一部の文字は削除できることを知っています。私は通常、URL を「見栄えの良い」ものにしようとしますが、それはばかげていますか?
しかし、西洋の ASCII 形式とは関係のない中国語、日本語、アラビア語の文字はどうすればよいでしょうか?
URL を 16 進コードで書き換えるという考えは本当に好きではないので、今のところ、URL に「変換できない」文字が多すぎる場合は、内部の一意の ID を使用するだけです。
internet-explorer - 要求された URL で余分な「/」文字を削除する IIS 設定はありますか?
一般的な問題:
次のような形式の IIS Web サーバーに送信される URL があります。
また、次のような URL が入ってくることも確認しています。
ユーザー エージェントが Internet Explorer の場合、これは 2 つの異なるページとして解決されるため、余分なパス文字を削除したいと考えています。したがって、キャッシュから解決する必要があるときに、コンテンツを 2 回ダウンロードします。
これがurl-rewritingモジュールなどで解決する問題なのか、構成設定があるのかはわかりません。
javascript - javascript window.open() と # 記号
window.open() 呼び出しを介して「#」文字を含むファイルにリンクしようとしています。ファイルは存在し、通常のアンカー タグを使用して問題なくリンクできます。
「#」文字を「%23」でエスケープしようとしましたが、window.open(myurl) が処理されると、「%23」が「%2523」になります。これは、'%' を '%25' に変更する window.open 呼び出しによって URL 文字列がエスケープされていることを示しています。
この余分なエスケープを回避する方法はありますか。
サンプルコード:
「file://MyUNCPath/PropertyRushRefi-Add%25231-ABCDEF.RTF」と叫ぶ URL が見つかりません
.htaccess - 一般的な htaccess リダイレクト www から非 www へ
www.example.com
にリダイレクトしたいと思いexample.com
ます。次の htaccess コードはこれを実現します。
しかし、ドメイン名をハードコーディングせずに一般的な方法でこれを行う方法はありますか?
cookies - URL の書き換え以外に、Cookie を使用せずにセッションを維持するために利用できるオプションは何ですか?
ここ Stack Overflow や Web 上の他の場所で URL 書き換えのさまざまなオプションを見てきましたが、他のオプションがあるかどうかを知りたいと思っていました。
asp.net - asp.net url が「書き換えられた」かどうかを確認するにはどうすればよいですか?
http://urlrewriter.net/を使用して、Web サイトの URL を書き換えています。たとえば、次のように書き直しています。
に
メタタグを動的に追加するために(SEOの目的で)やろうとしていること:
書き換えられていないページのみ。これは、両方の URL を機能させたいが、書き換えられた URL だけが検索エンジンによってインデックス付けされるようにするためです。
リクエストされたページのバージョンを確認するにはどうすればよいですか?
編集
以下の回答は、メタ タグを使用する代わりに 301 リダイレクトを提案しています。多分私はこれを行うでしょうが、根底にある質問への答えを知りたいです.ページが書き直されたかどうかはどうすればわかりますか?
apache - Apache modrewrite .htaccess
次の URL を書き換えられるようにしたい:
.htaccess
mod_rewriteを使用します。
誰でもこれを行う方法を知っていますか?
私が試してみました:
ただし、「pretty url」 (例: http://example.com/location/90210 )を使用すると、GET ロケーション変数が /location/index.html ページに渡されません。
長いURLが使用されている場合は( javascriptを使用して)場所のGET変数を画面にエコーアウトすると、このb/cが設定されますが、きれいな(短い)URLが使用される場合、場所のGET変数は未定義です。
java - HttpServletRequest で getContextPath をオーバーライドする (URL 書き換え用)
新しい URL で複数の言語をサポートするために拡張したい Web アプリがあります。たとえば、www.example.com/home.do は英語のままですが、www.example.com/es/home.do はスペイン語です。私が最初に考えたのは、/es/home.do のような着信 URL を /home.do に書き換える (そしてリクエストにロケールを設定する) フィルターを作成することでした。これはうまくいきます。Filter は、getContextPath() をオーバーライドして言語を返す HttpServletRequestWrapper で ServletRequest をラップします。
My Filter は、次のように適切なリクエストに転送します。
私の問題は、次のサーブレットが適切に転送されないことです。次のサーブレット (通常は Struts ActionServlet) が JSP (多くの場合、Struts タイルを使用) に転送されます。JSPに到達すると、HttpServletRequestが数回ラップされ、問題のオブジェクトはコンテキストが空であると報告します(アプリケーションが実際にデプロイされるルートコンテキスト)。
コンテキストを書き直して、既に存在するすべてのコンテキスト対応コードが、記述された URL に言語を自動的に挿入できるようにしたいと考えています。これは可能ですか?
編集:ラップされた HttpServletRequest の代わりにラップされた HttpServletResponse を使用して問題を解決しました。response.encodeURL() メソッドで URL を書き換えます。