web-dev-qa-db-ja.com

ローカルにプロキシする方法 WP ライブサイトにフォルダをアップグレードする

スタック:

MAMP PRO on OSX 10.11.5(El Cap)

シナリオ:

私はローカルでサイトを開発しています、そしてオンラインのサイトのライブバージョンがすでにあります。uploadsフォルダの4 GBすべてをダウンロードするのではなく、私のローカルサイトでライブURLから画像を読み込むようにします。

概念:

たくさんの検索を通して、私はあなたがこれを達成するために使用できる.haccessファイルの多くの変化を見つけました。私のお気に入りのものは以下の条件を使います:

  1. あなたが最初にdevサーバーにいることを確認します(HTTP_Host
  2. 要求されたURLがwp-content/uploads(REQUEST_URI)にあることを確認します
  3. 要求されたURLがローカルに存在しないことを確認します(REQUEST_FILENAMEによるファイルまたはディレクトリ)。
  4. これらが合格したら、書き換えルールを実行します。

コード:

これが私の.htaccessスニペットです。

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /wp-content/uploads/
  RewriteCond %{HTTP_Host} ^LOCALSITE\.dev$ [NC]
  RewriteCond %{REQUEST_URI} ^/wp-content/uploads/
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ http://LIVESITE.com/wp-content/uploads/$1 [NC,P]
</IfModule>

私の人生のために私はこれを正しく動作させることはできません

私は考えられる限り多くのテストを実行し、mod_rewriteがMAMPで _ on _ であることを確認しました。私は私が気にしているもっと多くのhtaccessドキュメントを読んでいます、そして私は今サークルに行きます。

テスト:

私のテストの1つは私を混乱させます。これが私がしたことです:

  1. コンテンツに2つの画像を含むWordPressでページを作成します。
    • "Image A"は私のローカルマシンにのみ存在します
    • 「画像B」はLIVEサイトにのみ存在しますが、URLにローカルホスト名を使用しています
  2. 画像Aが表示され、画像Bは404エラーを起こします(予想通り)
  3. WordPressの後に.htaccessスニペットを追加する
  4. 変更なし
  5. しかし、すべてのRewriteCondステートメントをコメントアウトすると、Image A 404のものがLIVE URLで実際に書き直される唯一のものであるためです。それはそこには存在しないので、そう404年です。しかし、Image BのURLはnotに書き換えられ、404もあります。

免責事項: 4:00 am

どうぞよろしくお願いします。

1
William

それで私はそれを投稿した後私の質問を読み終えてから答えを発見しました…….

htaccessの規則はWordPressの規則の前に行く必要がある

そこにあります。今回はそれが問題でした。

私はベッドに行くよ。

3
William