2009-05-21 25 views
1

このmod_rewriteを初めて使用しています。これに http://mydomain.com/products/12: 私は正常にこのようなURLに何か書き換えることができましたhttp://mydomain.com/products.php?prodId=12mod_rewrite必要なURL情報

をしかし、私はアドレスバーにhttp://mydomain.com/products/12を与えるとき、CSSやJSファイルがロードされません。

しかし、私がhttp://mydomain.com/products.php?prodId=12にアクセスすると、jsとcssが正しくロードされます。私が何かを見逃している場合は、私に知らせてください。

私の.htaccessファイルは、次のようになります。

Options +FollowSymlinks 
RewriteEngine on 
RewriteRule ^products/([0-9][0-9])/$ /products.php?prodId=$1 [L] 

私のCSSやJSフォルダが同じフォルダ内にもあります。

答えて

3

あなたはこのように、あなたのスクリプト/ CSSファイルへの相対リンクを使用している必要があります。

<script src="my.js"></script> 

これはあなたの古いURLのために動作しますが、新しいもので、それは「製品」ディレクトリになります、これはもちろん存在しません。代わりに絶対URLを使用することもできます。

(あまりにので、絶対と相対URIパス)あなたは相対URIことを知っておく必要があり
<script src="/my.js"></script> 
5

をある基底URIから解決されている - 明示的に宣言されていない場合 - 現在のドキュメントのURI 。

外部リソースを/products/12から参照する場合は、相対URIはfoo/barで、それは/products/foo/barに解決されます。

絶対URIパス(/で始まる)または絶対URI(プロトコルで始まる)を使用するか、明示的に現在以外のベースURI(BASE HTML elementを参照)を設定します。しかし、ベースURIの変更には、、つまりの相対URIに影響するため、いくつかの副作用があることに注意してください。

関連する問題