そのため、次のようにシンプルな.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="/" />
動作するので、私にとっては不幸ではありません。ですから、皆さんからの助けを本当に感謝します。インターネット上のチュートリアルはすべてのトピックを網羅しているわけではありません。私が心配しているのは、何らかの方法でそれをやってくると、ローカルサーバーからホスティングに移動した場合の解決策が異なるかどうかです。
写真はディレクトリ内で適切にカウントされます(それぞれについて同じ操作を行い、関連する数の壊れた画像ボックスを取得しました)。
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
フラグは、このパスでそれ以上のルールが処理されないようにします。
RewriteRuleのExと競合しないようにフォルダーの名前を変更しました。 reportageImages---> my .jpg here
がimagesR
になりました-名前は重要ではありませんが、RewriteRuleと何らかの競合が発生しました。
RewriteRule reportage reportage.php
今では動作します。