0

ローカル/リモート Web 開発用のシームレスでポータブルなソリューションが必要です。これにより、ローカル開発環境ではローカルで動作し、変更なしでリモート サーバーでも動作する絶対 URL/URI を使用できます。

マシンでホスト名を 127.0.0.1 にリダイレクトし、リモートサーバーが使用するのと同じホスト名を同じユーザーとパスとともに使用するため、MySQLは既にこの方法で動作しています。

しかし、HTTP に関して言えば、もちろん同じことはできません。なぜなら、ブラウザからリモート URL にアクセスできず、ローカル Web サーバーが表示されるからです。

方法はありますか?

私はApache HTTPサーバーでPHPを使用しており、いくつかの異なるMVC、WordPressなどを使用しているため、コードでこれを行うと、プロジェクト間で移植性が低くなり、ローカルとリモートを区別するコードをチェックインすると、システムに悪影響を与える可能性があります本番サーバーのパフォーマンス。

私は PHP でこれを行う方法を知っており、ローカル環境で何らかの構成を行いたいので、リモート サーバーはこのために追加の処理を行う必要がありません。また、.js ファイルのように PHP の前処理を行わないファイルもありますが、これも必要です。

4

2 に答える 2

2

$_SERVER['HTTP_HOST']ページへのアクセスに使用されたホスト名 (または IP アドレス) を取得するために使用できます。したがって、すべての絶対 URL を作成できます。

$url = "http://{$_SERVER['HTTP_HOST']}/path/to/file";

それ以外の

$url = "http://localhost/path/to/file";

この値はHost:HTTP 要求のヘッダーから取得されるため、非標準ポートも考慮されます。

于 2011-12-12T16:05:52.127 に答える
1

このようなものを持つことができます (どのように含めるかはあなた次第です):

if($_SERVER['SERVER_NAME'] == "localhost"){
        $baseurl = "http://localhost/";
}else{
        $baseurl = "http://livesite.com/";
}

そして、リンクを追加したいとき:

<a href="<?php echo $baseurl; ?>index.html">Home</a>
于 2011-12-12T16:05:48.747 に答える