2011-07-01 14 views
1

私は現在、PHPベースのWebサイトを構築中です。ウェブサイト全体がメインディレクトリにあります。example.com不明な上位のディレクトリからCSSスタイルシートに変換する

example.com/page、example.com/another_page、example.com/directory/のようなリンクにアクセスして、私のウェブサイトのさまざまなページを検索したいとします。 some_page、などなどが

これを行うために、私はこれらのディレクトリを作成し、index.phpの中で次のPHPコードを追加します。これは正常に動作します

<?php 
include("/home/user/domains/example.com/public_html/index.php"); 
?> 

、ページが含まれています。問題は、スタイルシートがそうでないことです。メインフォルダ内でのみ動作します。私はこれらのHTMLスニペットの両方を試しました:

<link href="Stylesheet.css" rel="stylesheet" type="text/css" /> 
<link href="/home/user/domains/example.com/public_html/Stylesheet.css" rel="stylesheet" type="text/css" /> 

しかし、両方とも動作しません。

これはHTMLではどのように動作しますか、ホームディレクトリへのアクセス方法は?

おかげで、事前

+0

使用:Webサーバーの絶対パスは、/は、WebサーバーのルートであるとmyDirectoryがルートオフディレクトリの場所である場合には、次のようです。 1レベルアップ、2レベルアップ、3レベルアップ...など。 – Jawad

+0

スタイルシートもメインディレクトリにありますので、各レイヤーごとに特定のスタイルシートを作成し、各レイヤーごとに特定のインデックスを作成する必要があります。 –

+0

とにかく固定されています:) –

答えて

3

にcssファイルがダウンロードされ、サーバー側上のファイルを含んPHP includeの文とは反対に、クライアント側含まれています。

cssのパスは、クライアントの観点から「合理的」であり、おそらくpublic_htmlディレクトリに関連して指定する必要があります。つまり、public_htmlディレクトリに直接存在する場合はラインがあなたのpublic_htmlの下にすべてのディレクトリを参照することはできません

<link href="/Stylesheet.css" rel="stylesheet" type="text/css" /> 
+0

ありがとうございます:P –

2

ブラウザをお読みください、です。 Webサーバーは、ブラウザーに文書ルートを提示します。あなただけ/でそれを参照する必要があります。

<link href="/Stylesheet.css" rel="stylesheet" type="text/css" /> 

はまた、代わりにどこにでもディレクトリやPHPファイルを作成するのmod_rewriteを使用することを検討してください。私はそれがはるかに保守的であることがわかると思います。

+0

ありがとうございます:) –

1

これは、サーバー側のアクセスのためのあなたの絶対パスです:

<?php 
include("/home/user/domains/example.com/public_html/myDirectory/Stylesheet.css"); 
?> 

ただし、あなたは、このためのWebサーバーからのアクセスを求めています。

<link href="/myDirectory/Stylesheet.css" rel="stylesheet" type="text/css" /> 
関連する問題