SVGとSVGZは、.htaccessでトレーリングスラッシュを削除した後に表示されません

StackOverflow https://stackoverflow.com/questions/19826355

  •  05-07-2022
  •  | 
  •  

質問

これが私の.htaccessファイルです

AddType image/svg+xml svg svgz
AddEncoding gzip svgz

Options +FollowSymlinks -MultiViews
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI}  /(.*[^/]+)/$ [NC]
RewriteRule .*              /%1         [NC,L]

RewriteCond %{REQUEST_FILENAME}      !-d
RewriteCond %{REQUEST_FILENAME}.html  -f
RewriteCond %{REQUEST_URI}   !\.html  [NC]
RewriteRule .*   %{REQUEST_URI}.html  [NC,L]

Web URL形式が次のように見える場合は、SVGとSVGZは正常に動作します www.myweb.com/index.html およびまたは www.myweb.com/index

しかし、URLがこのように見える場合、(URLの終わりにトレーリングスラッシュ) www.myweb.com/index/ テキストの内容は問題ありませんが、SVGおよびSVGZの画像を見ることができません! .htaccessはどこかで正しくないに違いありません。誰かが助けることができたら?ありがとう!

役に立ちましたか?

解決

これは、相対的/絶対的なURLの問題のように聞こえます。相対リンクを使用してリンクしている場合、追加のパスノード(2番目のパスノード)を作成する場合 /)相対的なURIベースを変更し、その時点から、すべての相対URIが持っています /index/ 正面に追加されました。これらのすべてのURLを絶対に変更する必要があります(から始めます /)または、ページのヘッダーに相対的なベースを含めます。

<base href="/" />
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top