2012-01-17 14 views
1

私はhtaccess、 についていくつか質問がありますが、まず私の悪い英語をお詫びしたいと思います。画像やCSSが書き換えられないようにする方法

RewriteRuleについてお聞きしたいと思います。

1.私のURL拡張子を変更したい場合、たとえば私のURLをmysite.com/file.htmlにしたいのですが、実際のURLはmysite.com/file.phpです。

私は

RewriteRule ^(.*)\.html$ $1.php [R=301,L] 

このコードを使用するが、私はそれをしようとしたとき、私は私がhttp://mysite.com/file/something/somethingelse/

http://mysite.com/file.php?varOne=something&varTwo=somethingelse からURLを書き換えるしよう.html URLは.php

たら、2.にリダイレクトすることがわかりましたすべてのcss、js、画像が表示されないbcz dirが変更されました。

どうすればそれを防ぐことができますか?

おかげ

答えて

2

あなたは[L]代わりの[R=301,L]を使用してみましたか?

RewriteRule ^(.*)\.html$ $1.php [L] 

し、HTMLでのCSSや画像を埋め込む際に、ルートディレクトリからファイルを取得するためにスラッシュで始まるにしてみてください:画像を

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

同じ:

<img src="/images/pic.png" alt="image" /> 
<img src="/mypic.png" alt="image" /> 
+0

ありがとうございました。私は最初に試してみましたが、おかげさまで2番目の問題はまだ解決できません。 – ahmadMarafa

+0

あなたはこれまでに何をしましたか?サイトへのリンク? – Fabian

0

行を追加してください:

RewriteCond %{REQUEST_FILENAME} !-f 

のすべてのRewriteRule行の前に、css、jsおよびimagesのリダイレクトを防止します。

+0

あなたの助けてくれてありがとうございましたが、うまくいきませんでした。 – ahmadMarafa

+0

.htaccessの内容全体をあなたの質問に貼り付けてください。 – anubhava

関連する問題