2011-06-22 21 views
2

mod_rewriteが新しくなりました。CSSでmod_rewriteを含む問題

私は、このページprofiles.phpを持っている?ページ= XXX

私はスタイル

が含まれている場合に問題がある
RewriteEngine on 
RewriteRule ^cars/([^/]+)/?$ profiles.php?page=$1 [L] 

/より親しみやすいURL /車/ XXXにそれを移動しようとしました
<link href="./css/style.css" rel="stylesheet" type="text/css" /> 

それdoesntの仕事、

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

はうまく動作しますが、profile.phpで動作しませんか?carname = XXX

なぜそれが起こっていますか?

が、私はこのコードますrequire_onceで/

global $base_addr; 
$s=substr_count($_SERVER['SCRIPT_NAME'],"/",2)-1; 
$base_addr="."; 
if($s > 0)$base_addr.=str_repeat("/..",$s); 
require_once($base_addr.'class/xxx.php'); 
echo "<link href='$Base_addr/css/style.css' rel='stylesheet' type='text/css' />"; 

の数をカウントすることで、ウェブサイトのベースアドレスを決定する小さなスクリプトがありますのみ、完璧に動作します:どのように私はそれが

注修正することができますhrefは私の問題です。

答えて

1

私はこれがうまくいくと思います。

<base href="/" /> 

特に、サイトのベースルートを定義できるので、サブディレクトリ内のcssやjqueryのようなアセットは失われません。

<base href="www.url.org/" /> 
<base href="www.url.org/directory/" /> 
4

絶対URLを使用してください(ドメインのルートからの相対パス)。

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

/path/to/css/style.cssは、それはあなたのURLにスラッシュの数に依存しないようにしhttp://www.domain.com/path/to/css/style.css

と同じです。

+0

だけでなく、私はすべてのために$ BASE_ADDRを使用するには、それはば完全に罰金だけでHTMLがそのdoesntの作品が含まれて動作しますが、でも、PHPが含まれています。 – Zalaboza

+0

require_once($ base_addr.'class/XX.php ');うまく動作します、何doesnt仕事はhtmlのhrefです、 – Zalaboza

関連する問題