2011-11-07 8 views
0

私は、mydomain.com/sub/folder/からmydomain.com/sub/folder/へURLを書き換えようとしているWebサイトに.htaccessファイルを持っています。& view =フォルダイメージフォルダの書き換えルールを無視する

残念ながら、私が書いた方法では、画像、スタイルシート、およびその他のリンクされたファイルにはもうアクセスできません。誰かが特定のディレクトリ/ URL要求を書き換えルールから除外する最良の方法を教えてもらえますか?

これは初心者の質問のビット場合は謝罪、私はまだこのモッズリライトのものの周りに私の頭を包んでいる!

.htaccessファイルは次のようになります?? のRewriteRule ^([-ZA-Z0-9- ] +)/ $のindex.phpを上

RewriteEngineコントローラが= $ 1 のRewriteRule ^([ a-zA-Z0-9-] +)/([a-zA-Z0-9-_] +)/ε index.phpを?コントローラー= $ 1 &ビュー= $ 2

+0

すべての画像とCSSは、相対パスまたは絶対パスを使用してリンクされていますか? –

答えて

0

あなたのイメージはmydomain.com/imagesであり、あなたは、ブラウザがmydomain.com/sub/folder/images/i.gif経由で画像にアクセスしようとしようとしているページmydomain.com/sub/folder/に相対リンクを使用してそれらにリンクされている場合。しかし、リンクを絶対リンクに変更すると、ブラウザは正しくmydomain.com/images/i.gifを読み込もうとします。ただし、RewriteRuleはそれをmydomain.com/index/php?Controller=images&View=i.gifに変更します。これを避けるために、あなたはいくつかのRewriteCondsを追加する必要があります。アクセス時に既存のファイル/ディレクトリをしようとしたときに

は、index.phpに書き換えていない
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([a-zA-Z0-9-_]+)\/?$ index.php?Controller=$1 
RewriteRule ^([a-zA-Z0-9-_]+)/([a-zA-Z0-9-_]+)\/? index.php?Controller=$1&View=$2 

ように。