質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

Q&A

解決済

1回答

3341閲覧

ワードプレスに入れた .htaccess が文字化けします

niconic73027793

総合スコア215

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

0グッド

0クリップ

投稿2021/12/18 09:16

編集2021/12/18 09:43

ワードプレスに入れた .htaccess を確認したら文字化けしていました。

SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off SetEnvIf Request_URI ".*" Ngx_Cache_AllCacheMode RewriteEngine On RewriteCond %{HTTP_HOST} ^www.sample.com RewriteRule ^(.*) http://sample.com/$1 [R=301,L] #http 、ヒ・「・ッ・サ・ケ、キ、ソ、馼ttps 、ヒ・・タ・、・・ッ・ネ <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule> # BEGIN WordPress # "BEGIN WordPress" 縺九i "END WordPress" 縺セ縺ァ縺ョ繝・ぅ繝ャ繧ッ繝・ぅ繝・(陦・ 縺ッ # 蜍慕噪縺ォ逕滓・縺輔l縲仝ordPress 繝輔ぅ繝ォ繧ソ繝シ縺ォ繧医▲縺ヲ縺ョ縺ソ菫ョ豁」縺悟庄閭ス縺ァ縺吶€・ # 縺薙l繧峨・繝槭・繧ォ繝シ髢薙↓縺ゅk繝・ぅ繝ャ繧ッ繝・ぅ繝悶∈縺ョ縺・°縺ェ繧句、画峩繧ゆク頑嶌縺阪&繧後※縺励∪縺・∪縺吶€・ <IfModule mod_rewrite.c> RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress

上記のようになっています。

何でこうなったか調べてみると、
.htacess 自体が文字化けしているという事例が見つかりませんでした。

コクーンというワードプレステンプレートの事例がありましたが、
リンク内容
テンプレートは賢威というテーマですし、はっきりとした答えはわかりませんでした。

どうしたら、文字化けを直すことができるのでしょうか?

また、これが起こった原因はなんなのでしょうか?

サーバーは x サーバーです。

xサーバーのコントロールパネルから .htacess 部分をみると

下記のように文字化けしていました。

SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off SetEnvIf Request_URI ".*" Ngx_Cache_AllCacheMode RewriteEngine On RewriteCond %{HTTP_HOST} ^www.sample.com RewriteRule ^(.*) http://sample.com/$1 [R=301,L] #http にアクセスしたらhttps にリダイレクト <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule> # BEGIN WordPress # "BEGIN WordPress" ???? "END WordPress" ?障?с?�???c?�?�???c?? (茵?) ? # ?????�??????????WordPress ???c?�?帥?若?�???c?�?�?推信罩c???�?純?с???? # ???????�???若?�?守???�???????c?�?�???c???吾?�?????�??紊??眼??筝??吾???????�???障???障???? <IfModule mod_rewrite.c> RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ex025

2021/12/18 16:24

UTF8で開いたらどうでしょうか。
guest

回答1

0

ベストアンサー

文字化けしている .htaccess に書き込まれたコメント

#http にアクセスしたらhttps にリダイレクト

# BEGIN WordPress # "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は # 動的に生成され、WordPress フィルターによってのみ修正が可能です。 # これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。

で文字コードが異なるようですね。


まずは、どのような文字コードで書き込まれているかを検証してみましょう。

■ 1つ目

EUC-JP で保存した

#http にアクセスしたらhttps にリダイレクト

を Shift-JIS で開くと

#http 、ヒ・「・ッ・サ・ケ、キ、ソ、馼ttps 、ヒ・・タ・、・・ッ・ネ

の様に文字化けします。

■ 2つ目

UTF-8 で保存した

# BEGIN WordPress # "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は # 動的に生成され、WordPress フィルターによってのみ修正が可能です。 # これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。

を Shift-JIS で開くと

# BEGIN WordPress # "BEGIN WordPress" 縺九i "END WordPress" 縺セ縺ァ縺ョ繝・ぅ繝ャ繧ッ繝・ぅ繝・(陦・ 縺ッ # 蜍慕噪縺ォ逕滓・縺輔l縲仝ordPress 繝輔ぅ繝ォ繧ソ繝シ縺ォ繧医▲縺ヲ縺ョ縺ソ菫ョ豁」縺悟庄閭ス縺ァ縺吶€・ # 縺薙l繧峨・繝槭・繧ォ繝シ髢薙↓縺ゅk繝・ぅ繝ャ繧ッ繝・ぅ繝悶∈縺ョ縺・°縺ェ繧句、画峩繧ゆク頑嶌縺阪&繧後※縺励∪縺・∪縺吶€・

となります。

以上から、

#http にアクセスしたらhttps にリダイレクト

は、EUC-JP で保存されていて、

# BEGIN WordPress # "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は # 動的に生成され、WordPress フィルターによってのみ修正が可能です。 # これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。

は、UTF-8 で保存されているようです。


なぜ、1つのファイル内で文字コードが混在することになったのかですが...
どのような操作をしたのか不明ですので、マニュアル等からの推論になります。

エックスサーバーのマニュアル .htaccess

「.htaccess編集」機能について
本機能は、「(設定対象ドメイン名)/public_html/.htaccess」ファイルを編集することができます。
編集対象のファイルが存在しない場合は、編集内容を確定する時点で自動的に生成します。
本機能を利用した場合は文字コードが「EUC-JP」として保存されます。

と EUC-JP で .htaccess ファイルを保存すると記載されています。

また、現在の WordPress 日本語版の各ファイルは、文字コードとして UTF-8 を使用しております。

上記から推測できる内容として、エックスサーバー管理画面の「.htaccess 編集」で作成された「EUC-JP」の .htaccess ファイルに WordPress が、 UTF-8 でコメントを書き込んだだめ、文字コードが混在する事になったのだと思われます。

投稿2021/12/19 12:12

編集2021/12/19 12:18
CHERRY

総合スコア25218

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

niconic73027793

2021/12/19 13:51

大変わかりやすい解説ありがとうございました<(_ _)>
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問