2011-11-21 8 views
11

モードリライトを使用してユーザーフレンドリーなURLを作成しようとしています。 私の問題は、URLに「名前」のようなカテゴリを付けた後、新しいURLを使ってページを呼び出すと、CSSファイルや画像をロードできないということです。 ?URL書き換え後のCSSファイルと画像がありません

私のようなリンクを持っている:

はlocalhost /名前がMyWebSite /プロジェクトのid = 22

Newリンクをあるようなもの

はlocalhost /名前がMyWebSite /プロジェクト/ 22/myproject.project

htaccess code:

RewriteRule ^project/([0-9]*)/.*\.project$ /project.php?project=$1 [L] 

(それは100%の権利ではないかもしれませんが、私はそう、私はちょうどこれを書いて、それが元のソースに正常に動作します今私のコードにアクセスすることはできません)

私のルートディレクトリはlocalhostです/名前がMyWebSite/

と私のCSSファイルは、CSS/style.cssにである

はlocalhost /名前がMyWebSite/CSS/style.cssに

私のhtaccess

はlocalhost /名前がMyWebSite/.htaccessの

と私のproject.phpファイルだから

はlocalhost /名前がMyWebSite/project.php

でありますプロジェクトページでは、相対パスを使用してCSSファイルにアクセスできます。

<link href="css/style.css" rel="stylesheet" type="text/css" /> 

しかし、書き換えられたURLページを使用すると、CSSファイルが見つかりません。

私はまだドメインを持っていないので、絶対パスはドメイン名で使用できません!何でもかまいません。そのCSSのリンクが

のようになります

一つの方法は、同様の質問 はlocalhost /名前がMyWebSite/project.php に示唆されているように、ドメインへの相対パスを使用することであり、私はとlocalY私のスクリプトを実行したときに、私のルートディレクトリは localhostの です

のhref = "名前がMyWebSite/CSS/style.cssに"

しかし、私が生きて行くとき、私は

のようなものだろうにすべてのリンクを変更する必要があります

href = "/ css/style。CSS」

が、これは、インターネットで画像を、CSSのhrefリンクと同じ相対パスと同じファイルに画像を挿入し、ブラウザでページをロードし、右クリックして、作業

答えて

26

あなたのローカルバージョンの場合は、ヘッド部

<base href="//localhost/mywebsite" /> 

を追加します

とライブバージョンのは、基本パスまたはconnection.phpでサーバービューのパスを定義する必要があり、uはそのパスをいつでも、作るhttp://www.w3.org/TR/html4/struct/links.html#h-12.4

+0

ええだけでなく、そこに画像があると私が住ん – max

+0

@max、 'base'タグは、同様の画像で動作を行く後に一つ一つの画像のためのドメイン名を変更カント.. http://jsfiddle.net/gaby/JE656/ –

+0

の例私のためには魅力的に働いた! :) – jackkorbin

1

たくさんのように思えますエクスプローラ、プロパティをクリックして、相対パスが実際に指してどこに表示されるはずです。

+0

これは、必要がありますので、ちょうど別のディレクトリである彼は私のルートおよび/名前がMyWebSite /フォルダであると考えられてlocalhostのcuzをリンクにあなたは明らかに:) – Mattis

+0

で私は名前がMyWebSiteを含める必要がありますされている場所を見つけるための良い方法ですリンクに含める。私はライブに行くときに私はリンクのすべてを変更することはできません! – max

+0

すべてのリンクを理解しやすいように変更することはできませんので、すべてのパスを相対的に保ちながら、各パスを正しい相対位置で調整してください。注意:私は、絶対パスをチェックして、あなたは右のそれを得るまで、あなたの相対パスを調整するもので、絶対パスを使用していませんでし意味。あなたは../を使ってフォルダを上げることができます。 – Ozzy

2

<base href="//your.domain.here" /> 

参照に変更しますそのグローバル。その変数が呼び出され、CSSまたは画像が全体のパスを取得します。

例えば $ SVP = "http://www.example.com/"

グローバルの$ SVP; echo $ SVP;

はそう

関連する問題