0

私のウェブアプリでいくつかのURLを書き直そうとしていますが、問題は、images / css / js / etcも書き直していることです...私の.htaccess:

DirectoryIndex engine.php
RewriteEngine On
Options -MultiViews
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ engine.php?link=$1

といくつかの例のhtml:

<img src="./theme/default/images/img.png" height="50px" />

http://domain.comを実行すると機能しますが、 http ://domain.com/test/asdを実行すると、画像が/asd/theme/default/images/img.pngに書き換えられます ..。。

4

2 に答える 2

0

これは、おそらく書き換え自体の問題ではなく、リソースに使用されるsrcパスの問題である可能性があります。存在するファイルは書き換えられません。相対パスを使用している場合は、URIをより深いパスに書き換えます(つまり)。

リクエストhttp://domain.com/test/asdしていてリソースがにある場合http://domain.com/theme/default/images/img.pngは、ソースパスが完全修飾されているか。であるかを確認してください/default/images/img.png。あなたの説明に基づくと、アセットへのパスはですdefault/images/img.png。書き直すと、という名前のフォルダにいるように見えるためtest/asd、ドメインのパスはになりtest/asd/default/images/img.pngます。

于 2013-03-19T12:07:01.340 に答える
0

使用できます

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

BASE要素は、外部ソースを参照する要素の前に、ドキュメントのHEADセクションに表示される必要があります。

于 2013-03-27T12:33:21.657 に答える