• 締切済み

IIS 6 動的ページをリライトする手順や設定

ASP.NETフレームワーク利用 プログラミング言語:C# WEBサーバ:IIS 6.0 ウェブサイトを運営しており、現在リニューアルの最中になります。 そのサイトに内に検索機能がついており、検索結果の一覧や詳細ページなどの動的ページに パラメータがついてしまうので、それを以下のようにリライトをしたいと思っています。 http://×××/result.aspx?pref=tokyo&price=p4 ↓ http://×××/result/tokyo/p4.aspx あるいは、http://×××/result/tokyo/p4/ 上記のようなリライトの手順や設定はどのようにすればよろしいでしょうか。 また、今回は検索軸が4つもあり、さらにソートやページ数も加味して静的化したいと思っています。カウントすると最長で下記のようなURLになります。 http://×××/result.aspx?pref=tokyo&area=a7&price=p4&part=b2&check=c9&sort=1&page=2 ↓ http://×××/result/tokyo/a7/p4/b2/c9/s1/2.aspx あるいは、http://×××/result/tokyo/a7/p4/b2/c9/s1/2/ 本当に困っているので、設定の仕方や手順などわかる方がいらっしゃいましたら ご教授下さい。 現状、ISAPI_REWRITEというパッケージを考えておりますが、 それ以外の設定方法がありましたらご教授下さい。 何卒宜しくお願い致します。

みんなの回答

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

ASP.NET 4.0におけるURLルーティング http://codezine.jp/article/detail/5002 ASP.NET での URL 書き換え http://msdn.microsoft.com/ja-jp/library/ms972974.aspx

関連するQ&A

  • リライト設定の正規表現

    ここのカテゴリでいいのか自身がありませんが質問させて下さい。 例えば以下のようなリライト設定を行いたいとします。 http://xxxxx.xx/aaa/123.html http://xxxxx.xx/a1b/123.html http://xxxxx.xx/45/123.html ・ ・ http://xxxxx.xx/3/123.html http://xxxxx.xx/efafda/123.html ↓リライト↓ http://xxxxx.xx/zzz/123.html リクエストURLの一部を、zzzというURLにリライトさせます。 "123"の部分は可変で、リライト先のURLに引き継ぎたいです。 スマートに設定したいと思っているのですが、以下のような設定をするとリライトの無限ループにはまってしまいます。 RewriteRule ^/(.+)/(.+)\.html$ /zzz/$2.html [R=301,L] 上記を修正して、zzzでリクエストが来たとき意外はzzzにリライトさせる、 という方法を取りたいと思っているのですが、うまい正規表現の方法がわかりません。 (うまく"!"を組み込む感じで・・・) あるいは他にもいい設定方法があれば知りたいです。 どなたかご存知の方、教えていただけないでしょうか? 宜しくお願い致します。

  • ページの複製はどうすればいいのでしょう?

    はじめまして、ASPは初心者です。 すでに作成したページ(a.aspx)をコピーして 新しいページ(b.aspx)を作ろうとしているのですが どうにもうまくいきません。 ソリューションエクスプローラで「コピー&ペースト」しているのですが、 b.aspxにイベントを記述しようとコードを開くと a.aspx.vbが開かれてしまいます!? どうやったらうまくページを複製できるのでしょうか? またすでに作ってしまったb.aspxはどうやって削除したらいいのでしょうか? ヘンに削除するとa.aspxにも影響がでそうで、怖くて削除できません(/_;) お手数ですがよろしくお願いします。

  • C言語でcsvファイル入出力に関する質問です。

    data.csvオープン、data.csvのデータを読み込んで、a>b>cの優先順位で昇順にソートし、result.csvに書き込み、result.csvクローズです。 手順自体はわかっていますが、なにせC言語の初心者なので、ネットでソースコード見てもちんぷんかんぷんです。ソートも一次配列だけなら自力でできるが、優先順にソートするプログラムはどう書いたらよいでしょうか? ご教授お願いします。 C言語の初心者です、助けてください。 以下が例です:

  • 阿佐ヶ谷~東船橋は460円で移動可能?

    http://transit.yahoo.co.jp/search?p=%c5%ec%c1%a5%b6%b6&from=%b0%a4%ba%b4%a5%b1%c3%ab&sort=0&num=0&htmb=result&kb=ARR&chrg=&air=&yymm=200605&dd=23&hh=18&m1=03&m2=00 こちらの2番目の検索結果をご覧下さい。 2番目のとおりに460円のみで移動可能でしょうか? 本当にそうだと大変助かるのですが・・・

  • ページ設定

    ワードでページ設定をするのですが、プリンターがA4までしかできないからか、B4のページ設定ができません。(B4の選択肢がありません。)どうしようもないのでしょうか。 家でB4の書類を作って、職場のプリンターで印刷しようと思っているのですが。

  • MySQLの検索について

    MySQLの検索について id | name | price 1 | A | 100 2 | B | 1200 3 | A | 150 4 | A | 175 5 | B | 1150 6 | C | 500 7 | C | 600 8 | D | 300 仮にこのようなテーブルがあったとします。 このテーブルを、以下の形で出力したいのです。 A | 100 A | 150 A | 175 B | 1150 B | 1200 C | 500 C | 600 next page(D以下は次のページ以降で表示) つまり、nameの項目は指定した項目数だけを出力。 1ページに表示するnameの数は決まっている。 ただし、表示されるnameにあたるレコードは数に関係なく全て出力し、nameごとにpriceでソートする。 クエリーを2回発行し、プログラム側での処理を交えれば実現できるのですが、できればDBに問い合わせる回数は減らしたいと考えています。 上記の事を1度で実現するSQLが存在する、あるいはより優れたやり方があるのでしたら、ご教授いただければ幸いです。

    • ベストアンサー
    • MySQL
  • windows 7 Cドライブのみリカバリ手順です

    windows 7 / 64bit にてCドライブのみ、リカバリしようと(リカバリCDはありません。)色々検索して頑張ってみたところ、リカバリ方法を見つけ、手順通りに進めようとしたのですが(http://support.asus.com.tw/technicaldocuments/technicaldocuments.aspx?SLanguage=ja-jp)(2ページ目の、隠しパーティションからシステムをリカバーします 。を参照)ここでの手順では、実際に起動時に(F9)を押して出てくる画面が違っておりまして、(F9)を押して開いたページ内にはリカバリできそうな項目が見当たらず(未熟さゆえに見落としてしまってましたらすみません)解決策を見出すことが出来ずに困り果ててしまい質問させていただきました。 スペック windows 7 Professional 64bit Sarvice Pack1 Cドライブ(INTEL SSDSC2MH120A2 ATA Device) Dドライブ(ST2000DL003-9VT166 ATA Device) マザーボード(ASUS LGA1155 intel P8P67 REV 3.0 New P67 B3 Revision) 実装メモリ 8GB CPU Intel(R)Core(TM)i7-2600 CPU @ 3.40GHz グラフィックボード(NVIDIA GeForce GTX 570) になります。 文章に間違いや分かりづらい内容がありましたら申し訳ありません。 何卒、宜しくお願い申し上げます。

  • リライト設定につきまして、ご教授お願いします。

    ◼︎環境 CentOS 6.6 apache 2.4.12 tomcat 8.0.21 java 1.8.0_31 ◼︎問題 tomcatのwebdavを利用しwebdavを構築し、URLをリライトしたい. https://【ドメイン】/webdav/webdav/ →https://【ドメイン】/webdav/ でアクセスしたい。 ★httpd.conf設定内容 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^/(.*)?$ https://%{HTTP_HOST}/$1 [R=301,L] RewriteRule ^/(.*)?$/webdav/(.*)$ /webdav/$1 </IfModule> RewriteRule ^/(.*)?$/webdav/(.*)$ /webdav/$1 の 記述につきまして、ご教授いただけると幸いです。 よろしくお願いします。 ◼︎参考サイト http://d.hatena.ne.jp/iad_otomamay/20080614/p1 を参考にwebdavを構築。 web.xmlの<url-pattern>/*</url-pattern>を<url-pattern>/webdav/*</url-pattern>に 変更しています。変更している理由は、/*の場合に他のwebapps配下のディレクトも対象になってしまうため、webdavのディレクトリを作りurl-patternに追加した経緯がございます。

  • ページ設定をいじったらおかしくなった。

    WinXPを使用しています。プリンターでHPを印刷すると上にサイト名とページ、下にURLと日付がプリントされますが、それらを消してプリントしたいものがあったので、ファイル→ページ設定でヘッダー/フッターのところを消しました。元に戻そうと思い、ヘッダーに[&w&b&p/&p ページ]、フッターに[&u&b&d]となっていたと思ったのでそのように打ち込んだのですが、ページの打たれ方が今までとちょっと違います。 今までは3ページある中の2ページ目だけプリントしたときは2/3と表示されたのに、今は2/2と表示されてしまいます。どうしたらよいのでしょうか?

  • 数字の並び換えの最適手順

    N個の異なる数字があります。これを大小の順にならべ換えます。 最適手順数は計算上はLog(N!)/Log(2)です。 その最適手順の一般化は可能でしょうか。 例1:N=4のとき A、B,C,Dと4個の数字があって 1回目 AとBを比較 結果A>Bが判明 2回目 CとDを比較 結果C>Dが判明 3回目 AとCを比較 結果A>Cが判明 4回目 BとCを比較する  B>Cのときは、A,B,C,Dとなって並び替え終了。 こういう都合の良い結果での並び換え終了は手順からはずします。 C>Bのとき 5回目 BとDを比較する B>Dのとき A、C,B,D で終了 D>Bのとき A,C、D、B で終了 例2:N=5のとき A、B,C,D、Eと4個の数字があって 1回目 AとBを比較 結果A>Bが判明 2回目 CとDを比較 結果C>Dが判明 3回目 AとCを比較 結果A>Cが判明 4回目 EとCを比較  5回目 E>CのときEとAを比較、C>EのときEとDを比較 6回目 ここから場合わけひどくなります。 例としてA>E>C>DのときBとCを比較 7回目B>CのときBとEを比較、C>BのときBとDを比較 例3:N=6であれば10回、N=7であれば13回でした。 これらはN=5の手順のあと6個目、7個目の位置決めするだけ。

専門家に質問してみよう