2012-04-03 22 views
0

次の問題は私を夢中にしています。おそらく私は難しいと思っています。私のPHPコントローラには、CSSファイルを含めることができません

ここに、私はうまく動作する小さなMVCフレームワークを開発しました。少なくともURLの書き換えなし。

問題は、私がURLリライトを使用すると、テンプレートに含まれているCSSや画像が間違ったディレクトリに送られることです。

たとえば、http://www.domain.com/homeと入力すると、すべて問題なく、ディレクトリからCSSファイルがロードされます。

しかし、タイプ:http://www.domain.com/home/ cssファイルを探しているので、CSSファイルはロードされません。http://www.domain.com/home/css/これは誤って間違ったディレクトリです。それは、ホーム/それがインクルードされたファイルを探すディレクトリとして見えるようです。

URLをまったく書き換えない場合は、単にhttp://www.domain.com/index.php?slugs=home/と入力するだけで問題はありません。だから、問題は私のスクリプトによって引き起こされるとは思わないので、問題は.htaccessファイルで調べるべきだと思います。ここで

は私のhtaccesファイルです:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond $1 !^(index\.php|images|css|robots\.txt) 
RewriteRule ^(.*)$ /astrostrategy/index.php?slugs=$1 [L] 

、そのホーム/テスト/何でも(セグメント)ディレクトリとして見られていない方法はありますか?

が私のポストが意味をなさ願って、私は多くの場合、複雑に思う:P

任意の助けすでにありがとうを! :)

Gr、 エルメス。

答えて

2

死の答えは動作しない場合は、常に相対パス

+0

昨日私はそれを試しましたが、何とかこれも動作しませんでした。今日まで!私はどこに欲求不満と何かを見た。しかし、ついに私は解決策を見つけました;)やがて! – HermesTrismegistus

2

あなたはcssのcurrectディレクトリパスに相対的なものを使用しているようです。 http://www.domain.com/home/ブラウザを使用するとhomeがディレクトリにあり、CSSファイルはhttp://www.domain.com/home/css/に配置されます。私の提案は、ルートパスに相対的な使用です。ここでは、次のようなものを使用しています:

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

ルートパスまたは相対パスを使用する方がよいでしょう。

<link rel="StyleSheet" type="text/css" href="/css/style.main.css" /> 
+0

に使用するURLにbase tagを設定することができます私はすべてのパスが最後でも、中に定義する設定ファイル、内部ですでにだ定義されましたあなたが説明するのと同じ方法です。主な問題は、もし私がhttp://www.domain.com/forumと言うと入力すると、フォーラムディレクトリ内のcssフォルダを探します。 – HermesTrismegistus

+0

あなたのページのHTMLコードを入力できますか? – undone

関連する問題