ホームページ > バックエンド開発 > PHPチュートリアル > SEO に優しい URL を実装した後に CSS、JS、画像が壊れるのはなぜですか?

SEO に優しい URL を実装した後に CSS、JS、画像が壊れるのはなぜですか?

DDD
リリース: 2024-12-25 12:42:20
オリジナル
757 人が閲覧しました

Why Are My CSS, JS, and Images Broken After Implementing SEO-Friendly URLs?

SEO フレンドリーな URL は CSS、JS、画像の機能に影響します: 書き換え戦略

検索エンジン最適化 (SEO) を強化するには、 SEO に適した URL を実装する目的で .htaccess ファイルを書き換えました。ただし、予期しない問題が発生しました。CSS、JS、画像が変更されたページで期待どおりに機能しません。

この問題は、元の .htaccess ファイル構成が SEO に適した URL を作成しているために発生します。次のルール:

RewriteRule ^swift-details/([0-9]+)/([0-9a-zA-Z_-]+)$ swift-details.php?id= [NC,L]
RewriteRule ^swift-details/(css|js|img)/(.*)?$ // [L,QSA,R=301]
ログイン後にコピー

最初のルールは、URL をより SEO に適した形式に書き換えます。問題は 2 番目のルールにあります。ページ内の相対リンクを維持しながら、CSS、JS、画像のリクエストを絶対的な対応物にマッピングしようとします。

ただし、このアプローチではページのベース URI が変更され、相対リンク (「スタイル」など) が発生します。 .css") は、ブラウザーが変更された URL (例: "/swift-details/2/abblinbb") を基準にして解釈するため、失敗します。その結果、CSS、JS、および画像が正しくロードされません。

修正: 絶対 URI またはベース URI インジェクション

この問題を解決するには、次の 2 つの解決策が考えられます。

  • 絶対リンクを使用する: 内のリンクを変更します。ページで相対 URL ではなく絶対 URL を使用するようにします (例: "/css/styles.css")。
  • ベース URI に感染します: を追加します。 内に絶対ベース URI を含むタグページのセクション:
<head>
  <base href="/" />
</head>
ログイン後にコピー

これにより、ブラウザは適切なベース URI を使用して相対リンクを強制的に解決し、CSS、JS、および画像が期待どおりに読み込まれるようになります。

以上がSEO に優しい URL を実装した後に CSS、JS、画像が壊れるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート