0

次の問題は私を夢中にさせています、おそらく私は難しいと思っています。

これが問題です。私は正常に動作する小さなMVCフレームワークを開発しました。少なくともURLの書き換えはありません。

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

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

しかし、次のように入力すると、http://www.domain.com/home/ cssファイルはロードされません。これは、 http ://www.domain.com/home/css/でcssファイルを検索するためです。明らかに間違ったディレクトリ。home /は、含まれているファイルを探すディレクトリと見なされているようです。

http://www.domain.com/index.php?slugs=home/と入力するだけで、URL書き換えをまったく使用しない場合は、まったく問題はありません。したがって、問題の原因はスクリプトにあるとは思わないので、.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、エルメス。

4

2 に答える 2

2

Deathの答えが機能しない場合は、相対パスで使用するURLにベースタグをいつでも設定できます

于 2012-04-03T14:31:46.163 に答える
2

cssの現在のディレクトリパスを基準にして使用しているようです。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" />
于 2012-04-03T13:46:45.220 に答える