2016-11-28 3 views
0

こんにちは、これは私の最初の質問です。 (PHPを使用して)私のウェブサイトでhtaccessファイルを書き直すCSSファイルが壊れている

ので、時にはユーザーならばURLのかもしれないが、このhttp://domaine.com/details.php?slug=this-is-a-slug&page=2のように見える私はhttp://domaine.com/details.php?slug=this-is-a-slugというページがあり、私はこのhttp://domaine.com/this-is-a-slugのようなルックスにそれをしたいし、同じページdetails.phpに私は改ページして、システムのコメントを持っていますコメントを表示するには、次のページをクリックしてください。

は私が持っているルートに:

.htaccess file 
index.php 
details.php 
style.css 
images/.. 
js/ 
css/details.css and other stylelsheet files 
details.php 
. 
. 
. others pages and files 

ので、私は.htaccessファイルにこのコードを怒鳴るを書いた:私は改ページとURLをクリックして

RewriteEngine On 
RewriteRule ^([a-zA-Z0-9_-]+)$ details.php?slug=$1 
RewriteRule ^([a-zA-Z0-9_-]+)/([0-9]+)/$ details.php?slug=$1&page=$2 [NC,L,QSA] 

とurlは確かhttp://domaine.com/this-is-a-slugになるが、 http://www.domain.com/this-is-a-slug/2/になります。

ページネーションは機能しますが、問題はCSSファイルが読み込まれず、ウェブサイトが奇妙に見えることですか?

私は何か助けてもらえますか?

答えて

0

私の推測によれば、あなたのCSSは絶対パス(ウェブディレクトリからの相対パス)ではなくのような相対ファイルパスURIをstyles.cssのように使用していると思います。

何が起こるかは、あなたのURIはこの/this-is-a-slug/2/ようなページネーションのパラメータを追加することにより、見かけ上の追加「ディレクトリレベル」を取得するときに、ブラウザは、あなたのCSSファイルへの相対パス参照を解釈することです:の

/this-is-a-slug/styles.css 

もちろん、このファイルはそこに存在しないので、404エラーとn CSSがページに表示されます。

あなたはたとえば、この404

を得ている、あなたはこのような外部CSSリファレンス変更される可能性があることを確認するために、ブラウザのWeb開発ネットワーク]タブ上で見ることができます。これに

<link rel="stylesheet" href="styles.css"> 

を:

<link rel="stylesheet" href="/styles.css"> 

あるいは、画像のために、このような何かを変更:

これまで

<img src="/some_image.jpg"> 
+0

ので、あなたは、私は.htaccessファイルに入れることができます任意のソリューションがありますか? –

+0

これが本当に問題の場合、書き換えはあなたの解決策ではありません。正しい場所にあるCSSファイルを参照するだけです。 –

+0

あなたはevryのCSSファイルとすべての画像の場所を意味するのですか? .htaccessの解決策があることを願っています! –

関連する問題