ホームページ >バックエンド開発 >PHPチュートリアル >URL 書き換えを実装した後に CSS、JS、および画像の読み込みの問題を修正するにはどうすればよいですか?

URL 書き換えを実装した後に CSS、JS、および画像の読み込みの問題を修正するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-02 09:37:10607ブラウズ

How to Fix CSS, JS, and Image Loading Issues After Implementing URL Rewriting?

URL 書き換え: CSS、JS、および画像の読み込み失敗の解決

.htaccess で URL 書き換えルールを実装すると、一般的な問題が発生しますCSS、JS、画像などの外部アセットが正しくロードされない場合。これは、リダイレクトが発生したときの URI ベースの変更に起因すると考えられます。

最初の解決策には、ページの URL に関係なくアセットが確実に配置される絶対パスの使用が含まれます。ただし、これにはすべてのファイルに面倒な変更を加える必要があり、信頼性の低いソリューションになります。

別のアプローチでは、.htaccess ルールを活用して一貫したベース URI を確立します。

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteRule ^detail/([0-9]+)/?$ detail.php?id=

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/css/
RewriteCond %{REQUEST_URI} !^/js/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /detail/123/ [R=307,L]

このルールにより、すべてのファイルが確実に外部アセットは、/detail/123/ URL から参照されます。 [R=307,L] フラグは、リクエストを正しいベース URI (/detail/123/) にリダイレクトし、絶対パスを必要とせずにアセットの読み込みの問題を効果的に解決します。

これと組み合わせて、以下を追加できます。 内のタグページの要素:

<base href="/detail/123/">

これにより、ベース URI がさらに強化され、相対パスが正しく機能できるようになります。これらのルールを実装することで、個々のファイルを編集する必要を避けながら URL の書き換えを維持でき、シームレスなユーザー エクスペリエンスを確保できます。

以上がURL 書き換えを実装した後に CSS、JS、および画像の読み込みの問題を修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。