0

さて、私は htaccess ガイドのページを何度も読み、stackoverflow で質問をしましたが、それでもこの問題に対する答えは見つかりませんでした。

URL www.domain.com/profile/1 を www.domain.com/profile.php?id=1 にリダイレクトし、www.domain.com/profile/ranisalt へのサベを www にリダイレクトします。 domain.com/profile.php?seo=ranisalt

私はこの書き換えルールを使用しており、リダイレクトでうまく機能しています:

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^profile/([0-9]+)/ profile.php?id=$1 [NC,QSA,L]
(there is more, but not relevant)

問題は、CSS がフォルダー css/ にあることです。profile.php?id=1 で直接アクセスすると、正しく読み込まれます (www.domain.com/css/style.css) が、マスクにアクセスすると、 www.domain.com/profile/1/css/style.css で css を見つけようとしますが、見つかりません。

一時的な修正としてこれを使用しています

RewriteRule ^(.*)/(css|js)/(.*).(css|js)$ css/$3.$4 [L]
RewriteRule ^(.*)/img/(.*).(jpg|png)$ img/$2.$3 [L]

しかし、それはきちんとしていて素敵に見えません:(

CSSを適切かつ正しくロードするにはどうすればよいですか?

4

1 に答える 1

0

相対URIベースが変更されたため、ブラウザがのようなURLをロードすると、www.domain.com/profile/ranisaltcssのようなものへの相対リンクが/profile/URIの前に追加されます(したがって、に関係しwww.domain.com/profile/css/some.cssます)。によって生成されたHTMLでprofile.php、このタグをページのヘッダーに追加してURIベースを追加する必要があります。

<base href="/">
于 2013-01-22T05:48:58.430 に答える