WordPressの認証を利用するために、WordPressの内部で実行するWebアプリケーションがあります。これを機能させるために、アプリケーションのスタートページを単に含むテンプレートタイプをアプリケーション用に作成しました。
ちょっとしたハックですが、一面を除いて、これはうまく機能します - すべての相対URLは現在、リソースへの実際のパスではなく、WordPressのページをベースとして使用します。たとえば、私のアプリケーションのページがhttp://mysite.com/myapp
にある場合、スタイルシートへの相対リンクは期待どおりにhttp://mysite.com/myapp/css/stylesheet.css
になります。
残念ながら、これはスタイルシートの実際の場所ではありません。スタイルシートの実際の場所はhttp://mysite.com/directory1/directory2/directory3/css/stylesheet.css
です。
ベースURLがリソースの場所を正確に反映していない場合、Webアプリケーションでこのリソースにリンクする方法を教えてください。
注意:私たちがローカルに開発しているように私は絶対リンクを使うことができません、それは明らかにWordPressサイトと同じディレクトリ構造を持っていません。
私があなたの説明を正確に読んでいるならば、../directory1/directory2/directory3/css/stylesheet.css
はあなたをそこに連れて行くべきです。
しかし、私はWordPressで相対リンクを使用することに非常に用心深くなるでしょう。多くの「ディレクトリ」が実際には存在しないため、これらは必ずしも期待通りの動作をするわけではありません。それらはWordPressとmod_rewrite
によって作られています。この2つは、ファイルシステム構造についてうそをつくことです。たとえば、http://blog.com/category/cat-a
はありません。そのページの相対リンクは壊れているでしょう。
bloginfo
または site_url
を使用して絶対URLを作成するほうが賢明です。 site_url
はその機能を優先します。
$url = siteurl('/directory1/directory2/directory3/css/stylesheet.css');