2017-01-23 25 views
0

PHP、MySql、html、css、jQueryを使用して最初から書かれたWebサイトをダウンロードしました。ウェブサイトをlocalhostに移動する:ドキュメントルートを変更しました

MySqlとhtaccessでいくつかの設定を修正した後、相対パスエラーが原因でCSSファイルとJSファイルがすべて読み込まれなくなります。 enter image description here

をコンソールGET http://localhost/fonts/fonts.cssの誤差が相対パスですべてのこれらのファイルをロードしindex.phpに私を送信します。

これは、それがどのように見えるかです。 ここで、各行の先頭にある/を削除すると、ファイルがロードされますが、URLの違うページでエラーが発生するため、名前を変更する代わりに/の問題を修正する必要がありますhrefs。

私の質問は、どのように修正するのですか?

IはベースHREFタグを設定することを試みた:
<base href="http://localhost/israelrescue/">
又は <base href="http://localhost/israelrescue">
またはPHPで

$_SERVER['DOCUMENT_ROOT'] = 'http://localhost/israelrescue';
又は
$_SERVER['DOCUMENT_ROOT'] = $_SERVER['DOCUMENT_ROOT'] . '/israelrescue/';

P.S:

israelrescueは、このウェブサイトのlocalhostインストールで使用しているフォルダの名前です。

何も問題はありませんか?

ありがとうございます!

+0

ライブURLを送信 –

+0

@MukeshPanchal何を意味しますか?それは私のラップトップにインストールされ、ローカルにはライブリンクはありません。ウェブサイトのリンクはhttps://israelrescue.org/です。もしそれが助けられたら... – odedta

+1

あなたは 'localhost'のサブフォルダにサイトがあるからです。サイトをルートに移動することは可能ですか?私は@MukeshPanchalがライブからアセットをロードするように指示していると思いますが、それは少し不足しています。 – Tom

答えて

0

回答:

あなたがローカルホストでのサブフォルダでサイトを持っているからです。サイトをルートに移動することは可能ですか?私は@MukeshPanchalがライブからアセットをロードするように指示していると思いますが、それは少し不足しています。 - thebluefox

サブフォルダ内からこのサイトが実行されているように見えます。これを回避する最も簡単な方法はローカルサーバーでこのプロジェクトの VirtualHostを設定することです。追加パスなしで ローカルドメイン名経由で直接ロードできます。 (そしてbtw。、HTTP URLにDOCUMENT_ROOTを設定するのはナンセンスです。) - CBroe

0

あなたは限り、あなたは "/" すべてのファイルパスのbegginingでドロップするように、そのサブフォルダにサイトを残すことができます:

<link rel="stylesheet" href="/css/main.css"> 
<script type="text/javascript" src="/js/common.js"></script> 

<link rel="stylesheet" href="css/main.css"> 
<script type="text/javascript" src="js/common.js"></script> 

なりこのように動作するはずです

+0

本当に、私はすでに私の元の記事でこれを言及しました。しかし、私は1つのファイルと1行で何かをローカルに変更しただけなので、ウェブサイトの残りの部分で私を助けません。もっと一般的なソリューションが必要でした。@CBroeが推奨するVirtualHostsはうまくいきました。 – odedta

+1

ああ申し訳ありませんが、私はそれを見ませんでした。はい ! ServerName "ir.localhost"の下にそのフォルダを直接指し示す仮想ホストを設定し、あなたの '/ etc/hosts'にホストエントリ" 127.0.0.1 ir.localhost "を追加すると、サイトはルートレベルになりますそのホスト。 –

関連する問題