絶対パスを持つcssファイルとjsファイルが正しくロードされるようにルールを書き換えます
Mar 09 2019
2時間かかりましたが、理解できず、解決策をグーグルで検索する方法がわかりません。
これは、.htaccessファイルの私の書き換えルールです。
RewriteCond %{REQUEST_URI} ^/blog/(.*)
RewriteRule ^blog/(.*) http://localhost:2368/$1 [P]
example.com/blogを呼び出すと、nodejs(ポート2368)で実行されているゴーストブログにリダイレクトされます。
問題:ブログ自体が絶対パスを使用してcssファイルとjsファイルをロードします。
<link rel="stylesheet" type="text/css" href="/assets/built/screen.css" />
。
そのため、example.com / assets / built /screen.cssを読み込もうとします。
ただし、ファイルはexample.com/blog/assets/built/screen.cssからアクセスできます。
どうすればこれを解決できますか?
回答
4 MarcosCasagrande Mar 09 2019 at 23:20
3つの選択肢があります。
リンク/スクリプトのソースをに変更します
/blog/assets/...
ファイルの場所をに変更します
/assets
使う
RewriteRule
.htaccess
RewriteCond %{REQUEST_URI} ^/assets(.*)\.(css|js)$ RewriteRule ^(.*) /blog/$1 [L]
RewriteCond %{REQUEST_URI} ^/blog/(.*)
RewriteRule ^blog/(.*) http://localhost:2368/$1 [P]
動作するルールは次のとおりです。.htaccessテスター
私は、ファイルがghost-blog
node.jsで実行されているのではなく、apache2によって提供されていると想定しています。ただし、後者の場合は、リダイレクト後に次のルールに進むため、引き続き機能します。ただし、次のこともできます。
RewriteCond %{REQUEST_URI} ^/assets(.*)\.(css|js)$
RewriteRule ^(.*) http://localhost:2368/$1 [L]