0

WordPressネットワークをローカルにインストールし、MAMPProを使用してサーバーを実行しています。同じLAN内の別のコンピューターまたはデバイスからすべてのサイトを表示したい。

これを行うためのクリーンで簡単な方法はありますか?

Sitesというフォルダーに移動するようにMAMPを設定しました。そのフォルダーには、各プロジェクトに独自のフォルダーがあります。一部のプロジェクトは単純なHTMLとCSSです。iPadからでも問題なく表示できます。1つのプロジェクトはWordPressのインストールであり、そのフォルダーを読み込めません。私の推測では、それはMySQLとそれにアクセスしようとしている別のIPに関するものだと思います。

4

2 に答える 2

3

主な問題は、wordpressがデータベースのサーバーアドレスを使用し、wordpressが指定されたデータベースオプションのルートURLを使用するため、コンピューターの外部でwordpressにアクセスしようhomesiteurlすると、cssとjavascriptのパスが正しくなくなる可能性があるためです。

リダイレクトを行わずに正しいパスを取得したい場合は、以下で動的ルートURLを定義できます。wp-config.php

このスクリプトを下に追加しますdefine('ABSPATH', dirname(__FILE__) . '/');

/**
 * get home url from absolute path
 * @return string url to main site
 * lafif@astahdziq.in
 */
function get_dynamic_home_url(){
    $base_dir  = ABSPATH; // Absolute path
    $doc_root  = preg_replace("!${_SERVER['SCRIPT_NAME']}$!", '', $_SERVER['SCRIPT_FILENAME']);
    $base_url  = preg_replace("!^${doc_root}!", '', $base_dir);
    $protocol  = empty($_SERVER['HTTPS']) ? 'http' : 'https';
    $port      = $_SERVER['SERVER_PORT'];
    $disp_port = ($protocol == 'http' && $port == 80 || $protocol == 'https' && $port == 443) ? '' : ":$port";
    $domain    = $_SERVER['SERVER_NAME'];
    $home_url  = "${protocol}://${domain}${disp_port}${base_url}";

    return $home_url;
}
$url = get_dynamic_home_url();
define('WP_SITEURL', $url);
define('WP_HOME', $url);
于 2015-09-23T14:26:10.267 に答える
1

これを機能させるための鍵は、WordPressダッシュボードの[設定]>[一般]でWordPressとサイトのURLをIPアドレス+MAMPポートに変更することです。

たとえば、これらのURLが現在localhostの場合、代わりにに設定しますmysite.local:8888

WordPressのインストールを別のサーバーに移動する場合は、これらのURLを正しい値に戻すことを忘れないでください。

于 2013-02-08T16:07:32.627 に答える