サポート » 使い方全般 » htaccess ファイルを置くと500 internal errorになります

  • 解決済 Chocopie

    (@chocopie)



    現在、wordpress 2.7を導入しようとダウンロード設定をはじめ、
    ルートフォルダ以下に、wordpressフォルダを作成し大よその設定を完了しました。

    Root (xxx.com) → 「A」
    |- wordpress → 「B」

    「ブログのURLをtttp://www.abcd.com/で表示させたい」
    ので、[htaccess(頭にドットあり)]、そして[index.php]を以下のように扱いました。

    1) 設定 → パーマリンク設定 / デフォルトから数字ベースにして変更→保存

    2) [htaccess(頭にドットあり)]が「A」に自動的に生成される。
    → 記述 /wordpress/あり

    ・[htaccess] (707)
    ・[index.php] (700)

    3) 設定 → 一般設定から

    ・WordPress のアドレス (URL): ttp://www.abcd.com/wordpress/ (変更なし)
    ・ブログのアドレス (URL): ttp://www.abcd.com/

    にて変更。

    4) [htaccess]が「B]に自動的に生成される。
    → 記述 /wordpress/なし

    ・[htaccess] (644)
    ・[index.php] (700)

    3) [B]以下の[htaccess],[index.php]をローカルにダウンロード
    そしてダウンロードした[index.php]を以下のように編集

    require(‘./wp-blog-header.php’);

    require(‘./wordpress/wp-blog-header.php’);

    4) 新しい URL からログインして、再度ログイン情報を入力してサイトを表示させようとすると
    500 internal server errorになります。

    ・root[A]に[htaccess(頭にドットあり]ファイルをアップすると、必ず落ちる

    ・ただし、wordpress 2.5で同じ設定をして、[htaccess]&[index.php] 同じサーバ
    では問題なく動作している。(属性情報もすべて同じ)

    ・以下も参照視しましたが、どうしても解決できません。
    – ttp://suirakukai.com/wordpress/22/wordpress-change-in-directory
    – ttp://wpdocs.sourceforge.jp/Giving_WordPress_Its_Own_Directory

    ・バイナリモード」&アスキーモードともに確認済み
    ・サーバのスペックは、
    – OS SUN Solaris
    – Web Apache 2.2
    – メール Postfix
    – Perl 5.8.4
    – PHP 5.2.1
    – Ruby 1.8.6
    – MySQL 5.0.51a-log
    です。

    長くなりましたが、何か解決方法などご教授いただければ幸いです。
    よろしくお願いいたします。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • 2) [htaccess(頭にドットあり)]が「A」に自動的に生成される。
    → 記述 /wordpress/あり

    これってありえなくないですか?
    wordpressフォルダを作成してWordPressのアドレスもブログのアドレスも変更せずにパーマリンク設定を変更すればhtaccessはwordpressフォルダ(wordpressのルート)に生成されるはずですよね?
    それとindex.phpをルートに持っていってブログのアドレスを変更しindex.phpを修正することで実現できると思います。
    手順を再確認してみることをお勧めします。

    追記

    3) [B]以下の[htaccess],[index.php]をローカルにダウンロード
    そしてダウンロードした[index.php]を以下のように編集

    require(‘./wp-blog-header.php’);

    require(‘./wordpress/wp-blog-header.php’);

    これもおかしいですね。
    wordpressはroot/wordpressにインストールされているので[B]以下の[htaccess],[index.php]を修正してしまうとroot/wordpress/wordpress/wp-blog-header.phpを参照してしまうことになります。
    wordpressルートにあるindex.phpはさわらずにrootにコピーしたindex.phpをrequire(‘./wordpress/wp-blog-header.php’);に修正しなくてはなりません。

    hokun-san

    早速の返信ありがとうございます。
    申し訳ございません、色々と試して細かく記述しようとして、
    かえってごちゃごちゃになってしまいました。

    wordpressフォルダを作成してWordPressのアドレスもブログのアドレスも変更せずにパーマリンク設定を変更すればhtaccessはwordpressフォルダ(wordpressのルート)に生成されるはずですよね?

    はい、ご指摘のとおりWordPressのアドレスもブログのアドレスも変更せずにパーマリンク設定を変更すればhtaccessはwordpressフォルダ(wordpressのルート)に生成されました。

    この後、htaccess&index.phpをダウンロードして(wordpressフォルダ内のファイルはいじらずに)、ルート直下にhtaccessとindex.phpをアップロードして、index.phpのみを編集しましたが、やはり500 internal errorが出てしまいます。。。

    wordpressはroot/wordpressにインストールされているので[B]以下の[htaccess],[index.php]を修正してしまうとroot/wordpress/wordpress/wp-blog-header.phpを参照してしまうことになります。
    wordpressルートにあるindex.phpはさわらずにrootにコピーしたindex.phpをrequire(‘./wordpress/wp-blog-header.php’);に修正しなくてはなりません

    またまた、分かりにくくて申し訳ございませんでした。
    実は[B]のフォルダのファイルは編集をしていないかったようです。

    1) パーリンク設定をいじらずにブログのアドレスのみを変更
    →htaccessがルート直下には生成されない
    →htaccessがwordpressフォルダ内にも生成されない

    2) ブログのアドレスを元に戻す

    3) パーリンク設定を「数字ベース」に変更
    →htaccessがwordpressフォルダ内に生成された

    中身

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /wordpress/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /wordpress/index.php [L]
    </IfModule>

    # END WordPress

    4) パーリンク設定を「デフォルト」に変更
    →htaccessが変更された

    中身

    # BEGIN WordPress

    # END WordPress

    5) wordpressフォルダ内のhtaccessとindex.phpをダウンロードして、
    index.phpのみをローカルで編集

    require(‘./wp-blog-header.php’);

    require(‘./wordpress/wp-blog-header.php’);

    6) ルート直下に、htaccessと編集したindex.phpをアップロード

    ⇒500 internal errorになってしまいます。

    ほかに試してみたことは、
    ・4)に戻さないで、3)の状態で同じ手順を踏みましたがError
    ・ただし、wordpressバージョン2.5で同じホスティングサービスを利用していて
    こちらは問題なく変更が行えています。
    ・2.5で動作している環境と同じ設定、そしてhtaccessとindex.phpファイルをアップロードしても
    500 internal errorが出てしまいます。(属性も確認しました)

    またまた長くなってしまいましたが、もし見落としている箇所
    間違っている箇所があれば教えていただければ幸いです。

    いくつかの可能性が考えられます。
    htaccessを修正していない(コピーしただけ)ならこちらは問題ないとして、index.phpを保存する際の文字コードがUTF-8(ボムなし)で保存されているか、あとは、パーミッションの問題でしょうが・・・htaccessもindex.phpも通常は特に変更する必要はないはずですけどね。
    もちろんroot/wordpressでアクセスしている分には問題ないのですよね?index.phpをrootにコピーした状態でもroot/wordpressでのアクセスは可能なのでエラーがでないことを確認しましょう。(確認できればrootに置いたファイルに問題があるのでしょう)

    shokun0803さん!

    index.phpを保存する際の文字コードがUTF-8(ボムなし)で保存されている

    ここでした・・・
    メモ帳ではなく、エディタで作業をしていたので大丈夫だと思っていました。
    私はTerrapadで作業をしましたが、

    文字コードをUTF-8Nにて保存して、上書き保存することにより
    動作が確認できました。

    本当に行き詰ったいたので、すごく助かりました。
    迅速かつ適切なアドバイス、重ねて感謝申し上げます。

    モデレーター IKEDA Yuriko

    (@lilyfan)

    解決してよかったですね。

    まったく余談ですが、質問文に書かれていた「tttp://www.abcd.com/」が気になりました。abcd.com というのは、実在するドメイン名ですので、あなたが所有しているのでない限り、勝手に例示用として使うべきではありません。こういうときは example.com, example.jp などが用意されているので、今後質問されるときはこちらを使うことを推奨します。

    あと「tttp://」とか「ttp://」とか存在しないスキームを書かれていますが、これも好ましくありません。きちんと http:// と書くことを推奨します (なんか2ちゃんねるみたいでかっこ悪いし ;-)。

    lilyfanさん、

    質問文に書かれていた「tttp://www.abcd.com/」が気になりました。abcd.com というのは、実在するドメイン名ですので、あなたが所有しているのでない限り、勝手に例示用として使うべきではありません。

    まさかとは思いましたが、実在するのですね。
    知らなかったとはいえ、仰るとおり、
    誰かが所有しているのであれば書くべきではありませんでした。

    あと「tttp://」とか「ttp://」とか存在しないスキームを書かれていますが、これも好ましくありません。きちんと http:// と書くことを推奨します

    了解しました。
    以後は推奨されている表記で記述すようにします。

    shokun0803さんやlilyfanbさんのように
    適切なアドバイスを下さる方がいると、励みになります。
    まだまだ至らない部分もありますが、これからもよろしくお願いいたします。

    ご指摘ありがとうございました。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「htaccess ファイルを置くと500 internal errorになります」には新たに返信することはできません。