2017-08-25 2 views
0

ローカルサーバーで自分のWebサイトを開発しているときに、そのファイルをサブフォルダに入れます。たとえば、ローカルのURLは、このようなものになります。私は、Webホスティング会社のサーバー上にそのファイルをアップロードした後ローカルサーバーでサブフォルダをルートフォルダとして扱う方法を教えてください。

http://127.0.0.1/projects/myownwebsite/ 

を、彼らは、ルートフォルダになります。したがって、リモートURLは次のようになります。

http://www.myownwebsite.com/ 

問題は、すべてのページとファイルの参照に絶対パスを使用したいのです。例:

<link rel="stylesheet" href="/css/style.css"> 
<script src="/js/main.js"></script> 
<a href="/about-us/">About Us</a> 
<img src="/images/logo.png" alt="My Website"> 

これらの絶対パスは、リモートサーバー上で完全に動作します。しかし私のローカルサーバーではないので、私のローカルサーバー上で、/about-us/のような参照はhttp://127.0.0.1/about-us/にリンクしているので、ページを見つけることができません。

自分のウェブサイトを簡単に開発できるように、絶対パスを自分のローカルサーバーでも作成したいと思っています。しかし、他のプロジェクトのファイルとフォルダがあるため、ローカルサーバーのルートフォルダにすべてのファイルを置くことはできません。

ローカルサーバでサブフォルダ(この場合は自分のウェブサイトのフォルダ)をルートフォルダとして扱うことはできますか?

P.S.ローカルサーバーに使用しているソフトウェアはEasyPHPです。

+0

あなたは絶対パスのみを使用したい理由があるのでしょうか?ところで、ルートパス定数(フレームワークのように)を使ってPHPでURLを構築するのは、常に良い方法です。この方法では、あなたの設定でこの定数を変更するだけです。 – Kaddath

+0

@Kaddath絶対パスは物事を簡単にし、問題を少なくするようです。 PHPの解析時間も理由です。何百ものパスを構築する必要があると、応答時間が遅くなり、PHPコードが乱雑になります。 –

+0

これはちょうど矛盾することではありませんでしたが、私はいつも自分自身でチェックしたいと思っています。 1000のURL生成のベンチマークを行った。変数の割り当ての最大差時間は、定数(絶対値)のないパスの方が2ミリ秒でした。かなり意義深い。しかし、私が「エコー」でそれをしたとき、最大の違いは相対パスを優先して40ミリ秒でした(私の場合は2文字分の長さの差です)。表示する時間が短くなるため、相対パスが速くなります。ところで、相対パスで "問題"が発生したことはありません – Kaddath

答えて

0

あなたはのVirtualHostを変更するために必要とされると、Windows上でconf_files\httpd.conf file.

<VirtualHost 127.0.0.1> 
DocumentRoot "${path}/data/localweb/public_html" 
ServerName 127.0.0.1 
<Directory "${path}/data/localweb/public_html"> 
    Options FollowSymLinks Indexes 
    AllowOverride All 
    Order deny,allow 
    Allow from 127.0.0.1 
    Deny from all 
    Require all granted 
</Directory> 

configuration->Apache. (opens httpd.conf)

DocumentRoot "D:/proot" 
(...) 
# DocumentRootDirectory 
<Directory "D:\proot"> 
    Options Indexes FollowSymLinks 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
</Directory> 
(...) 
NameVirtualHost 127.0.0.1 
<VirtualHost 127.0.0.1> 
    DocumentRoot "D:/proot/" 
    ServerName localhost 
</VirtualHost>` 

Repalce D:/proot/ with your path.

+0

こんにちは。助けてくれてありがとう。 EasyPHPアイコンを右クリックしても、「設定」が見つからない。私が使用しているバージョンはDevserver 17.0です。 –

+0

お手数ですが –

+0

ありがとうございます。それが助けになりました。私がしたのは、 '' 'httpd.conf'''で、もう1つのポートを聞いて、新しいポートとサブフォルダを使った新しい' 'VurtualHost''を追加しました。 –

関連する問題