web-dev-qa-db-ja.com

.htaccess image localhost

そのため、次のようにシンプルな.htaccessファイルを作成して、WebisteのSEOを向上させました。

# PROTECT FILES
<FilesMatch "\.(htaccess|htpasswd|ini|fla|psd|log|sh)$">
Order Allow,Deny
Deny from all
</FilesMatch>

#TURNED REWRITE ON
RewriteEngine on

#REWRITE CONDITIONS
RewriteRule start index.html
RewriteRule aboutMe about.html
RewriteRule contact contact.html
RewriteRule portfolio portfolio.php
RewriteRule reportage reportage.php

しかし、問題は私の画像が正しく読み込まれないことです。以前にそれらに使用しました:

<?php 
   $files = glob("reportageImages/*.jpg");

   for($i = 0; $i < count($files); $i++){
     $imageDir = $files[$i];
     echo '<li><img src="'.$imageDir.'" alt="reportage"/></li>';
   }
?>

またはphpなしで直接:

<img src="reportageImages/lama.jpg"/>

xaampを使用してプロジェクトをテストしているため、ディレクトリはxamp/htdocs/MG/reportageImages /(ここでは.jpgファイル)でした。

私が同じように質問することでかなり誤解されます。いくつかの問題については、私のものは単純に<base href="/" />動作するので、私にとっては不幸ではありません。ですから、皆さんからの助けを本当に感謝します。インターネット上のチュートリアルはすべてのトピックを網羅しているわけではありません。私が心配しているのは、何らかの方法でそれをやってくると、ローカルサーバーからホスティングに移動した場合の解決策が異なるかどうかです。

パスの問題を視覚化するために写真を追加しました: filepath screenshot

写真はディレクトリ内で適切にカウントされます(それぞれについて同じ操作を行い、関連する数の壊れた画像ボックスを取得しました)。

3
kolboc

RewriteRule portfolio portfolio.php
RewriteRule reportage reportage.php

申し訳ありませんが、何が起こっているのか気づいただけです...あなたはリライトでもっとspecificである必要があります。上記のルールは、リクエストされたURLの「portfolio」(または「reportage」)がanywhereに表示される場合、URLを書き換えます。これにより、画像URLもキャッチされます。 (「ポートフォリオ」と「ルポルタージュ」はURLpathの一部であるため、これが問題です。 (これにより、書き換えループも生成されると予想されます。これにより、イメージが破損します。この場合、サーバーのエラーログから「書き換えループ」に関する手がかりが得られるはずです。)

リクエストのURLのみに一致するように、ルールをより具体的にします。例えば:

#REWRITE CONDITIONS
RewriteRule ^start$ index.html [L]
RewriteRule ^aboutMe$ about.html [L]
RewriteRule ^contact$ contact.html [L]
RewriteRule ^portfolio$ portfolio.php [L]
RewriteRule ^reportage$ reportage.php [L]

アンカー(^および$)をRewriteRuleパターンに追加すると、「ポートフォリオ」などにのみ一致するようになります。exactlyまた、書き換えループを回避します。 Lフラグは、このパスでそれ以上のルールが処理されないようにします。

1
MrWhite

RewriteRuleのExと競合しないようにフォルダーの名前を変更しました。 reportageImages---> my .jpg hereimagesRになりました-名前は重要ではありませんが、RewriteRuleと何らかの競合が発生しました。

RewriteRule reportage reportage.php

今では動作します。

0
kolboc