2016-08-03 9 views
0

私は今問題があります。CSSがトレールスラッシュで消えます

私のURLに末尾にスラッシュがあるときはいつでも、CSSなしで残します。

別の投稿から、css/style.cssの代わりに完全なURLパスを使用する必要がありますが、それは私にとってはうまくいかないと答えました。私はまた私のCSSファイルのためのfilemtime()を使用

How it looks with trail

echo '<link rel="stylesheet" type="text/css" href="css/style.css?'.filemtime("css/style.css").'">';

、どのように私はこれで行くのでしょうか?

+0

あなたは最後のスラッシュ、何を意味していますか? 'css/style.css /'?それはブラウザ/サーバに "style.css"という名前のディレクトリを探すように指示します。 '/ css/style.css'を意味するなら、それは最後のスラッシュであり、末尾ではありません。 –

+0

@MarcB私が提供したリンクを見ると、何が起こるのかの上部にURLが表示されます。私は投稿で提供しているようにfilemtime()関数を使用しています。 – Aberidius

答えて

0

問題:@Marcが述べたように、あなたがindex.php/後にブラウザでスラッシュを追加するとき、すべての第一に、ブラウザがurlname.com/index.php/css/style.cssとしてCSSファイルをチェックし、スラッシュをリードしています。

ソリューション:

  1. どちらか、このような問題を回避するために、スラッシュを削除するルールを書き換えるフルパス
  2. 使用を使用しています。

    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)/$ /$1 [L,R=301] 
    
+0

唯一の問題は、index.php/somethingrandomと入力するとURLを探しているディレクトリに入ります。書き換えは、通常のindex.php /だったときにしか機能しませんでしたが、何かがその後に入力されたときには機能しませんでした。 – Aberidius

+0

このルールは、この解決策は、問題の質問に適用されます。 – Rohit

0

私は同じ問題を抱えていたし、問題を解決し、このような完全なURLを使用:

例:

<link rel="stylesheet" href="http://urlname.com/css/style.css"> 
0

あなたのルートからの相対であるURLを使用してみましたか?

<link rel="stylesheet" href="/css/style.css?'.filemtime("/css/style.css").'">

+0

filemtimeを使用すると、私はそれを使用するとstatのエラーが発生します。 – Aberidius

+0

'filemtime("/css/style.css ")'に先行するスラッシュを追加しましたか? – Mila

+0

$ _SERVER ["DOCUMENT_ROOT"]を前に置いてみることもできます。 – Mila

関連する問題