2011-07-26 9 views
0

次のルールは機能しますが、アドレスバーのURLは変更されますが、これは意図されていません。フレンドリーなURLを作成するためのhtacessの書き換え

RewriteRule ^network/(.*)$ http://www.example.com/network.php?networkUrl=$1 [L] 

次のルールは、リダイレクトURLが同じまま、しかし、すべての画像、誤っ参照になるnetwork.phpファイルに含まれ、...

RewriteRule ^network/(.*)$ network.php?networkUrl=$1 [L] 

はこれを作るための方法はあります作業。

+1

私はあなたが絶対パスを使用する必要があり、あなたは 'network.php'ファイルに相対パスを使用しているとします。 –

答えて

5

これは、ブラウザがパスを相対パスとして解釈するためです。すなわち<img href="image.jpg" />が同じように

<link href="stylesheets/foo.css" media="print" rel="stylesheet" type="text/css"/> 

は、このように

<link href="/stylesheets/foo.css" media="print" rel="stylesheet" type="text/css"/> 

すべてのリソースへのリンクとなりCSSの適用<img href="/image.jpg" />

なり、絶対パスでこの参照をあなたの画像やCSSを解決するために

任意の深さから参照されたときに期待どおりに動作します(/foo/bar/baz/script.phpなど)。

0

あなたのページにベースHREF HTMLタグを設定すると、あまりにも助けることができる:

<base href="http://www.domain.com/" /> 

を、すべてのあなたの相対的な画像、スタイルシートやJavaScriptファイルは、このベースHREFに対して相対となります。

http://www.w3.org/wiki/HTML/Elements/base

関連する問題