• 締切済み

IIS7 .ASP関連の設定について

いつもお世話になります。 IIS7のASP.netで開発したWebサイトを運営しております。 ■事象 拡張子.aspxのURL最後尾に「/(スラッシュ)」を入れてブラウザでアクセスすると、 以下URLのようにページレイアウトが大幅に崩れてしまいます。 参考URL:最後尾「/(スラッシュ)」無し⇒ http://okepi.net/all.aspx        最後尾「/(スラッシュ)」有り⇒ http://okepi.net/all.aspx/ 上記の現象に対し、他のサイトを拝見すると以下のような対策をされているようなのですが その解決方法(設定方法)についてご教示頂きたくお願い致します。 ■対策例(1) 最後尾に「/(スラッシュ)」をつけてもページ表示が変わらない 参考URL:最後尾「/(スラッシュ)」無し⇒http://fcart.jp/enq/index.aspx       最後尾「/(スラッシュ)」有り⇒http://fcart.jp/enq/index.aspx/ ■対策例(2) 最後尾に「/(スラッシュ)」をつけると404エラーを表示する 参考URL:最後尾「/(スラッシュ)」無し⇒https://ovspkgrsv.jtb.co.jp/pkg/login/user_login.aspx       最後尾「/(スラッシュ)」有り⇒https://ovspkgrsv.jtb.co.jp/pkg/login/user_login.aspx/

みんなの回答

  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.1

対抗策(2)のほうはうろ覚えで自信が無いので、対抗策(1)について回答します。 結論から述べると、CSSや画像のsrc要素を相対パスにしているのが表示崩れの原因です。 「初めてご利用の方へ」ボタンの画像を例にします。  <img src="images/bt_biginner.gif" style="border-width:0px;" /> この記述だと、  <img src="./images/bt_biginner.gif" style="border-width:0px;" /> と同じ意味になるため、  ・http://okepi.net/all.aspxの場合   →http://okepi.net/images/bt_biginner.gifへアクセス  ・http://okepi/net/all.aspx/の場合   →http://okepi.net/all.aspx/images/bt_biginner.gifへアクセス ということになります。 これを防ぐにはsrc要素を絶対パスで指定してください。  <img src="/images/bt_biginner.gif" style="border-width:0px;" />  ・http://okepi.net/all.aspxの場合   →http://okepi.net/images/bt_biginner.gifへアクセス  ・http://okepi/net/all.aspx/の場合   →http://okepi.net/images/bt_biginner.gifへアクセス

関連するQ&A

  • アウトリガーグアム

    アウトリガーグアムリゾートはツインで、1室いくら位しますか? JTBのHPには、航空券とホテル宿泊券付で(3泊4日)、13万(1室2名)からありましたが、実際はどうなんでしょうか? 来年7月の終わり頃宿泊したいのですが、航空券付で1室17・8万くらいでは無理ですか? URLはJTBのサイトです。 http://www.jtb.co.jp/kaigai/pkg/detailCM.aspx?tourcd=H0079&Date=2006/10/01&CityCD=GUM&Dept=SPKSDJKIJTYONGOOSAHIJFUK&DaysMin=4&HlCD=B,543&Meal=M1

  • フォーム認証について

    ASP.NETにてフォーム認証を行おうとしています。 資料を参考にサンプルを実行しようとしているのですが、さわりの段階で早くも行き詰りました。 web.configに <authentication mode="Forms"> <forms name="formauthsample" loginUrl="Login.aspx" protection="All" timeout="30" path="/"> </forms> </authentication> と記述し、Login.aspx以外にもページを用意して、それらのページにダイレクトにアクセスした際にLogin.aspxにリダイレクトされるというのをテストしたかったんですが、リダイレクトされずにページが表示されてしまうのです。 web.configは上記設定だけでは足りないのでしょうか? または、根本的に勘違いをしていますでしょうか? アドバイスを宜しくお願いします。

  • ホームページでFlashを使う際に...

    はじめまして。 地方の旅行代理店でホームページの担当をしています。 訪問していただいた方に使いやすいサイトにするために、今度ホームページをリニューアルしようと思っているのですが、 JTB-海外ツアーのページ http://www.jtb.co.jp/kaigai/pkg/index.aspx 上記のページのようにFlashを利用した世界地図から各方面を選択できるページを作りたいと思っています。 FlashMaker2を持っているのですが、このソフトで上記のようなページ作りは可能でしょうか?何度かトライしたのですが、全然うまくいきません。やはり、「Macromedia Flash」でないと無理なのでしょうか。 どうぞよろしくお願いします。

  • ASP2.0からSQLserver2000への認証

    開発環境:VisualStudio.net2005 ASP.net DB:SQLServer2000 ログインコントロールで下記のコードを作成したところ 開発環境ではうまくいっているのですが、Webサーバーにリリースしたところうまくいきません。 ------------------------------------------------------------------------------------------------------------- Protected Sub Login1_LoggingIn(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LoginCancelEventArgs) Handles Login1.LoggingIn ' 入力されたユーザーID、パスワードでusrテーブル内のレコードを検索 Dim objDb As New SqlConnection("Data Source=dbserver;Initial Catalog=testdb;Persist Security Info=True;User ID=testusr;PassWord=hogehoge") Dim objCom As New SqlCommand("SELECT * FROM member WHERE LoginID=@LoginID AND LoginPass=@LoginPass", objDb) objCom.Parameters.Add("@LoginID", Login1.UserName) objCom.Parameters.Add("@LoginPass", Login1.Password) objDb.Open() Dim objDr As SqlDataReader = objCom.ExecuteReader() If objDr.Read() Then ' 検索の結果、該当するレコードが存在した場合、認証は成功 FormsAuthentication.RedirectFromLoginPage(Login1.UserName, False) End If objDb.Close() End Sub ---------------------------------------------------------------------------------------------------------------- DB内のデータはとれている(objDrの中身が入ってることをデバック実行にて確認) ので、認証の部分で失敗しているのかと思い http://www.microsoft.com/japan/msdn/enterprise/pag/securityguidance/paght000010.aspx 等を参考してみたのですが、 「サーバーへの接続を確立しているときにエラーが発生しました。SQL Server 2005 に接続しているときときにこのエラーが発生した場合は、SQL Server の既定の設定がリモート接続を許可しないようになっていることがエラーの原因である可能性があります。 (provider: SQL ネットワーク インターフェイス, error: 26 - 指定されたサーバーまたはインスタンスの位置を特定しているときにエラーが発生しました) 」 というメッセージが出力されて、認証ができません。 どなたかアドバイス等ありましたらご教授できませんでしょうか。

  • ユーザ名とパスワード不要で自動ログインできますか!

    VBですが、ユーザ名とパスワード不要で いきなりログインできるようにしたいのですが!? http://homepage3.nifty.com/mtaiyo/login.txt 以上プログラムですが、実際組み込まれている「Webデータシステム」は イントラネットにあり、リンクできませんので あえて、HPにプログラムのみ公開しました。 ブラウザから最初「login.aspx」にログインして、ユーザ名とパスワードをBOXに入力してログインしています。 最近原因不明ですがログインできなくなり、困っています。責任者からも自動ログインできるように できないか頼まれています。 どうしたらユーザ名とパスワード不要でログインできるようできますか!? 今日は以上のプログラムしかわかりませんが、関連するプログラムは知れべればわかります。 対策として第1案の対策も考えています。(仕事ができなくて困っていますので必死です。)  第1案はhttp://okwave.jp/qa/q8622954.html 打開策に参考にされてくだい よろしくお願いします。

  • ASPで、IISの設定がうまくいきません!

    初心者です。どなたかわかり易く教えてくださる方、よろしくお願いいたします。 WindowsXP Professional ,access2002 ,IIS 5.1 の環境で、ASPプログラムを作成しました。 マニュアル本に従って、仮想ディレクトリを作成しましたが、以下のようなメッセージが表示されてWEBページを表示させることができませんでした。 ---------------------------- このページを表示する権限がありません 提供された資格情報には、このディレクトリまたはページを表示する権限がありません。 HTTP 401.3 - リソース上の ACL によってアクセスを拒否されました。 ---------------------------- そこで、デフォルトの「C:\Inetpub\wwwroot]の配下に設置して実行してみました。 すると、データベースのデータをSelectで読み取る事は可能なのですが、Updateしようとすると以下のようなメッセージが表示され、データを更新することができません。 ---------------------------- HTTP 500.100 - 内部サーバー エラー - ASP エラー インターネット インフォメーション サービス [Microsoft][ODBC Microsoft Access Driver] 更新可能なクエリであることが必要です。 ---------------------------- 色々とネット上で調べてみましたが、私には表現が難しくて良く解りません。 私なりに調べたところでは、「権限」を「everyone」にするといい…というところまでは解ったのですが、その方法がわかりません。プロパティを見てみても、「everyone」を選択できるような項目が見つかりません。どこをどのようにどう設定すればいいのか、どなたか具体的に解り易く教えて頂けますでしょうか。よろしくお願いいたします。 (ちなみにコンテンツ自体は、別サーバーで正しく動いていたものです。新しくPCを購入したので、自身のPC上で動きを確認したくて設定をしています。)

  • Apache2のユーザフォルダ設定

    初投稿です。みなさんのお知恵を貸してください。 常時接続のWindows2000の自宅マシン(以下、サーバ)にApache2をインストールして、複数人のユーザが自分用のホームページを置けるようにしたいと考えています。 このとき、サーバ上に各ユーザがデータを置く場所と、URLの関係を以下のようにしたいのですが、設定がよくわかりません。 サーバ E:\home\user1\public_html\index.html URL: ドメイン/user1/index.html おそらく、Apacheのhttpd.confファイルの以下の設定で何とかなるとは思うのですが、どうすればいいのかわかりません。 ネット上で調べてみましたが、これだという情報がありませんでした。 DocumentRoot "E:/home/" <Directory "E:/home/user**/public_html"> よろしくお願いします。

  • .htaccess でログインチェック

    HTMLファイルをログインユーザーでないと閲覧できない仕組みを作ろうと思っております。 方法として .htaceess ファイルを用いて ログインチェックするPHPを起動し、そのPHP経由で HTMLを表示させようと思っています。 しかしうまく動作してくれません… 下記の記述に何か誤りがありますでしょうか? ※ .htaccess --------------- Action text/html /PATH/login_chk.php ---------------------------- ※ login_chk.php --------------- <? $login = 'ok'; if( $login == 'ok' ){ echo file_get_contents('index.html'); } ?> ---------------------------- (1)index.html にアクセス (2).htaccessからlogin_chk.phpが呼ばれる (3)login_chk.php で file_get_contents関数を用いて index.html が表示される となる予定なのですが、 「The requested URL /PATH/login_chk.php/index.html was not found on this server.」 というエラーメッセージが表示されます… ご回答宜しくお願い致し

    • ベストアンサー
    • PHP
  • Apache 正規表現でのバックトラック抑止

    Apache の正規表現でバックトラック抑止をすることは可能でしょうか。 たとえば .* に対して + や (?>) を付加した .*+ や (?>.*) などの表現は使えるのでしょうか。 目的は mod_rewrite によって URL の正規化をおこなうことです。 スラッシュ『/』で終わる URL のときは index.html を付加したいと考えています。 たとえば『http://example.com/about/』を『http://example.com/about/index.html』として解釈したいのです。 単純に考えれば 1) RewriteRule ^.*/$ $0index.html でも可能ですが,できる限り高速に動作させたいので 2) RewriteRule ^.*+(?<=/) $0index.html 3) RewriteRule ^(?>.*)(?<=/) $0index.html のどちらかが使えればそちらを使いたいと考えています。 バックトラックと後読みを用いたこの表現は PHP マニュアル『再試行無しのサブパターン』(http://php.net/manual/ja/regexp.reference.onlyonce.php) からアイデアを得ています。 2) や 3) の書き方でも一応エラーが出ずに動作する (Apache 2.2.3) ようですが,意図した動作なのか気になります。 よろしくお願いします。

  • ウェブにアクセスする時アドレス欄の最後の/(スラッシュ)について

    アクセスありがとうございます。 今回の質問はかなりどーでもいいことのように思われますが教えてください。 ブラウザのアドレス欄にURLを入力するとき、その最後尾に付ける/(スラッシュ)についてなのですが このスラッシュをたまに付け忘れることってありますよね。 でも最新のブラウザはそういう場合でも/を自動的に補完して私たちは何の問題もなくホームページを閲覧できますよね。 しかし今日この常識をくつがえす事態が発生しました。 実は最近Linuxで自宅Webサーバを構築しました。 そしてテストがてら、それにアクセスしてみたのですが 192.168.1.10/~burn/だと問題なくアクセスできるのですが 192.168.1.10/~burnだとアクセスできないのです。 権利がないとかそのような意味合いの英語のメッセージが返ってきてしまいます。 その後、調べたところ、どうもユーザ「burn」のホームディレクトリのパーミッションを甘くすれば/を付けなくてもアクセスできるようです。 でもホームディレクトリのパーミッションを甘くするのはセキュリティ上、好ましくないそうですね。 でも僕は/を付けなくてもアクセスできるようにしたいのです(普通の人に言わせればどーでもいいことのように思われますが)。 httpd.confをいじれば何とかなるような気もしますが、何しろ一番下までスクロールするだけで1~2分かかる巨大ファイル(しかも英語)ですので、ちょっと途方に暮れています。 えー私はいったい何が言いたいのかといいますと ズバリお聞きします。 ユーザのホームディレクトリのパーミッションを変更せずに URLの最後尾に/を付けなくてもホームページにアクセスできるような方法はありますか。 質問文が長くなってしまってすいません。 ここまでお読みいただきありがとうございました。 この解決法をご存じの方は是非教えてください。 Webサーバは「httpd-2.0.40-8.i386.rpm」です。