haluhanaさん、こんにちは。
サーバの情報がかかれていませんが、PHPがセーフモードで動いていたりしませんか?
セーフモードによる制限と対処方法
あるいは、
/public_html/wp/wp-content/uploads/2009
のパーミッションあたりはどうでしょう。
jim912さん、こんにちは。
確認してみたところ、
/public_html/wp/wp-content/uploads/2009
のパーミッションは、755でした。
サーバーのセーフモードの件は、ちょっとこれから調べてみますが、
今回はhttp://example.com/で既にサイトを運営しており、新規サイトをWP で作ったので
http://example.com/wp/にリニューアル版のサイトを作り、コンテンツを追加したりなんなりして、一通り作業が終わったので、いざ公開ということでアドレスを変更しています。
なので、それまでは普通にアップロードなども問題なく出来ていましたので、サーバーのセーフモードは大丈夫なような気がします。
ちなみに、サーバーはエックスサーバーです。
今回のこのアドレス変更作業のなかで一点引っかかってるのが、手順7の .htaccess ファイルをコピーするという部分で、はじめに他のサイトを見ながら作業を行ったので、コピーではなく「移動」させてしまったのが関係しているのかな…とも思い、http://example.com/wp/のほうに .htaccess ファイルが無くなってしまったので、空の .htaccess ファイルをアップロードして、パーミッションの変更などしたのですが、それがまずかったのでしょうか…。
セーフモードによる制限と対処方法を参考に、あらかじめ画像のアップロード先のフォルダを用意してからアプロードしたところ、エラーの内容が
アップロードしたファイルを/public_html/wp/wp-content/uploads/2009/11に移動できませんでした。
というふうに変わりましたが、やはりアップロードは出来ませんでした。
haluhanaさん、こんにちは。
ディレクトリを移動したときに、ディレクトリのオーナーが変わって書き込み権限がなくなったとかかもしれませんね。下記のディレクトリのパーミッション707、それでだめなら777に変更して試してみてください。
/public_html/wp/wp-content/uploads
/public_html/wp/wp-content/uploads/2009
/public_html/wp/wp-content/uploads/2009/11
色々と勘違いされているようです。
まず、wordpressはサブディレクトリ(wp)にインストールしていて、コアファイルの移動は行わずに公開アドレスのみをルートにしたいのですよね?
であれば、Codexの「サブディレクトリに新規インストールする(した)場合」に該当します。で、「上記手順の 1 と 6 を飛ばして」とあるのですが、ここで言う上記手順の内容は「ルートディレクトリにインストールされたwordpressをサブディレクトリに*移動*する」ものなので、既にサブディレクトリにインストールされている場合、あくまでも「WordPress のアドレス」はインストールしたディレクトリのままであり、管理画面もインストールディレクトリのままです。つまり、
その手順の中で、10番にあたる「新しい URL からログイン」を仕様として、
http://example.com/wp-admin/
にアクセスしたところ、ファイルが見つかりませんと出てしまいます。
※元のアドレスhttp://example.com/wp/wp-admin/にはログインできます。
は当然であり、公開ディレクトリを変更しただけなので「新しいURL」というものは管理画面に関しては今回の場合存在しません。(これはルートからサブディレクトリにコアファイルを移動した場合の「新しいURL」なのですね)
で、画像がアップロードできない件なのですが、
なので、それまでは普通にアップロードなども問題なく出来ていましたので、サーバーのセーフモードは大丈夫なような気がします。
これが可能であった時点で、権限もセーフモードも関係ない気がします。
さらに、
今回のこのアドレス変更作業のなかで一点引っかかってるのが、手順7の .htaccess ファイルをコピーするという部分で、はじめに他のサイトを見ながら作業を行ったので、コピーではなく「移動」させてしまったのが関係しているのかな…とも思い、http://example.com/wp/のほうに .htaccess ファイルが無くなってしまったので、空の .htaccess ファイルをアップロードして、パーミッションの変更などしたのですが、それがまずかったのでしょうか…。
ここが最大の問題なのではないでしょうか。
htaccessはコピーが大前提です。理由は「コアファイルははじめにインストールした場所から移動されていない」からです。下位のディレクトリにhtaccessがあるばあい、上位のディレクトリの設定を上書きしてしまいます。インストールディレクトリにあるhtaccessを削除してみるか、ルートのhtaccessをインストールディレクトリにコピーしてみてはどうでしょう?
ちなみにパーマリンクの更新で今回のような場合、ルートにコピーした方のhtaccessを更新するようです(Codexの記述だとそう読み取れます)。この場合元々インストールディレクトリに存在していたコピー元のhtaccessとコピー後にパーマリンクの更新で変更されたルートのhtaccessに違いが発生するのかはちょっと分かりません・・・(違いがでるようだと上で説明したルートのhtaccessをコピーはちょっとまずいかもしれません・・・)
jim912さんはたぶん「wpディレクトリからルートディレクトリにコアファイルを移動した」前提で説明されていると思います?(そんなことないかな?)
jim912さん、shokun0803さん、ご返答ありがとうございます。
管理画面は、元のアドレスのままで良いのですね。勘違いしていました。
また、shokun0803さんに指摘していただいた通り、実際にインストールしたWPのディレクトリを移動したのではなく、公開アドレスのみをルートにしています。
また、htaccessファイルの件ですが、
「コアファイルははじめにインストールした場所から移動されていない」
このコアファイル(htaccessファイルのことですよね?)は、はじめにインストールしたWPディレクトリのものをルートに「移動」しています。
ただ、手順には「コピー」と書いてあったのですが、「移動」してしまった。つまり、もともとのインストールディレクトリ「WP」にhtaccessファイルが無くなってしまったので、白紙のhtaccessファイルをアップロードして閉まったのが問題なのでは….と考えていました。
ご指摘していただいた、「インストールディレクトリにあるhtaccessを削除してみる」というのは、おそらく始めに「移動」してしまった時点で削除したことになるかと思います。
もう一つの「ルートのhtaccessをインストールディレクトリにコピーする」というのは、ちょっとやり方が分かりません。私は普段Macを使用していますが、Macだと「.」から始まるファイルは表示されないので、一旦サーバーのルートフォルだから.htaccessファイルをダウンロードというのが出来ないのです。
はじめにコピーではなく移動してしまったのも、一旦サーバーからDLしてアップロードではなく、FTP上でディレクトリを[移動」させたのです。
ちなみに、昨日いろいろとパーミッション関係を変更したりして試してみたところ、画像のアップロードはjim912さんの指摘のあった
/public_html/wp/wp-content/uploads/2009
を707に変更してみたところ、正常にできるようになりました。
同じサーバー内にいくつかWPをインストールしており、ここのフォルダのパーミッションは他では755で動いているのに、今回のアドレスの擬似的な変更をしている場合のみ755では動かないということなんでしょうか…。
また、画像のアップロードと同時にプラグインのインストール関係もおかしくなっており、いままで既存のプラグインのアップグレードはアップグレードボタンのワンクリックで行えていたのに対して、現在は接続情報を入れなくてはアップグレードできなくなってしまいました。
試しにpluginフォルダのパーミッションも707に変更してみましたが、こちらはこれでは正常にワンクリックでのアップグレードは出来ませんでした。
おそらく、どちらも原因は同じだと思うのですが、上記のような状況を見て心当たりがある方はいますでしょうか。