• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:htaccessでURL末尾にスラッシュを付加)

htaccessでURL末尾にスラッシュを付加

このQ&Aのポイント
  • ホームページを公開するにあたり、http://www.ooo.com/xxxというアドレスでの公開が必要です。現状、http://www.ooo.com/xxxとhttp://www.ooo.com/xxx/でアクセスした場合に表示が異なり困っています。
  • ソースを見るとどちらも同じファイル(index.php)を読み込んでいますが、「/」無しでアクセスした場合、cssを読み込んでいないような表示になります。
  • .htaccessを使って/無しでアクセスした場合に「/」を付加するようなことは可能なのでしょうか。上記の方法を試しましたがうまくいきませんでした。

質問者が選んだベストアンサー

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

スタイルシートへのパスを絶対配置にすればすむだけでは?  そのほうが絶対に楽です。 HTTPサーバーは http://hoge.com/abc/efg という要求に対して、 ・efgというファイルを探し、 ・ファイルがなければディレクトリとみなして、   /efgを開いてみて、    その中にDIRECTORY_INDEXで指定されたファイルがあればそれを    DIREXTORY一覧を表示する設定ならそれを ・ファイルもディレクトリない場合はPATH_INFOに/efgを格納して、/abcに対して同様な処理をしていきます。 ・トップディレクトリまで進んで、DIRECTORY_INDEXに指定されたファイルを表示または実行します。  そのため、ブラウザが判断するカレントは、http://hoge.com/abc とhttp://hoge.com/abc/ は異なりませんが、index.phpなどをトップにおいている場合は、判断を間違う可能性がありますが、それはサーバーと言うよりブラウザの判断ですから、スタイルシートを絶対パスで指定するほうが確実です。  すなわち <link rel="stylesheet" type="text/css" media="screen" href="/styleSheet/standard.css"> のように指定します。  PATH_INFO・・・をどのように指定しても、 http://hoge.com/abc/efg だろうが、http://hoge.com/abc/efg/hijだろうが気にしなくて良いです。  ちなみに私はテスト用にapacheを入れています。それとfirefoxのアドオンServer Switcher( https://addons.mozilla.jp/firefox/details/2409 )でローカルサーバーとリモートサーバーを切り替えています。  ローカルサーバーがないと、絶対パスで指定してあるスタイルシートを利用しずらいですね。

takeaway2000
質問者

お礼

ありがとうございます! ご連絡遅くなり、申し訳ありませんでした。 仰るとおり、CSSのパスの問題でした。 原因としては、サーバーがマルチドメイン設定ができる関係なのか、CSS、画像パスなどを相対パスで記述する場合と、絶対パスの場合で表示、動作が異なる事が原因でした。 数日間悩んだあげく、放置していた所でした。 助かりました!

関連するQ&A