デフォルトの WordPress .htaccess ファイルにアクセスして編集する方法
公開: 2023-01-24すべての WordPress インストールには、「コア」ファイルの選択があります。 これらは重要な機能の背後にあるファイルで、そのうちの 1 つが.htaccessです。 これには、Web サーバーの構成オプションが含まれています。 言い換えれば、それは非常に重要です。
.htaccessを見つけて編集する方法を知っていれば、サイトのパーマリンク構造を変更したり、リダイレクトを設定したり、ダッシュボードのセキュリティを強化したり、さらに多くの微調整を行うことができます。 指示に注意深く従えば、コーディング方法を知る必要さえありません。
この記事では、 について説明します。 htaccessファイルとその仕組み。 ファイルを見つけ、アクセスし、編集する方法を示します。 最後に、よくある質問についてまとめます。
とは . htaccessファイル?
.htaccessまたは Hypertext Access ファイルは、WordPress に固有のものではありません。 すべての Apache Web サーバーには、サーバーの構成設定を含む.htaccessファイルがあります。 WordPress の場合、ファイルには Web サイトのパーマリンク構造に関する指示も含まれています。
ほとんどの Web サイトで、ファイルはデフォルトで次のように表示されます。
一部のホストは、クライアントの.htaccessファイルをカスタマイズして追加機能を含めるため、「ほとんどの Web サイト」と呼んでいます。 それでも、ファイルは常に WordPressルートディレクトリにあります。
サーバーにアクセスできる場合は、 .htaccessを見つけて編集し、サイトの機能に重要な変更を加えることができます。 実装できる変更には、次のようなものがあります。
- リダイレクトの追加。 サーバー レベルでリダイレクトを実装します。
- パーマリンク構造の変更。 Web サイトのパーマリンク構造を変更すると、これらの変更は.htaccessに反映されます。 WordPress 管理パネルで行う代わりに、このファイルを使用して URL 構造を手動で変更できます。
- リソースのホットリンクを防止します。 他の Web サイトで Web サイトの画像やその他の要素を使用したくない場合は、 .htaccessファイルを変更してホットリンクを無効にすることができます。
- Web サイトへのアクセスを構成します。 .htaccessを使用すると、ディレクトリをパスワードで保護したり、ダッシュボードにアクセスするための IP アドレスをホワイトリストに登録したりできます。
.htaccessは非常にデリケートなファイルであることを理解することが重要です。 サーバーレベルのルールを構成できるため、ファイルを変更すると、注意しないと Web サイトが破損する可能性があります。
.htaccessを編集するために特定のプログラミング言語を知る必要はありませんが、PHP の知識が役立つ場合があります。 指示に従って必要なコード スニペットをコピーすると、ファイルを簡単に変更できます。
コードの使用に慣れていない場合は、いくつかのプラグインで.htaccessを編集できます。 ほとんどのセキュリティ プラグインとリダイレクト プラグインは、ファイルを開かずに編集することで機能します。 変更内容によっては、プラグインを使用して.htaccessを編集できる場合があります。
はどこですか。 WordPressにあるhtaccessファイル?
.htaccessファイルは WordPress ルート ディレクトリにあります。 このディレクトリには、すべての WordPress コア ファイル ( wp-config.phpなど) と、Web サイトにアップロードするすべてのものが含まれます。
ルートにアクセスできません WordPress ダッシュボードのディレクトリ。 .htaccessやその他の同様のコア ファイルにアクセスするには、ファイル転送プロトコル (FTP) またはホスティング コントロール パネルを介してサーバーに接続する必要があります。
WordPress はオープンソースのソフトウェアであるため、すべてのファイルを自由に編集できます。 次のセクションでは、 .htaccessを安全に変更する方法を紹介します (他のすべての WordPress コア ファイルにも同じアドバイスが当てはまります)。
WordPress の編集方法。 htaccessファイル(3つの方法)
WordPress .htaccessファイルを編集するには、ルートへのアクセスが必要です ディレクトリ。 ただし、変更を加える前に、 .htaccessファイルのバックアップをダウンロードすることを強くお勧めします。 .htaccessはサーバー構成設定を処理するため、ファイルのコードにエラーがあると、Web サイトにアクセスできなくなる可能性があります。 その場合は、以前のバージョンの.htaccessを復元するか、正しくないコードを削除するか、新しい.htaccessファイルを作成してサイトに再度アクセスする必要があります。 それを念頭に置いて、安全にプレイし、最新のバックアップを利用できるようにすることをお勧めします.
ありがたいことに、 .htaccessファイルのバックアップは非常に簡単なプロセスです。 まず、ホストのファイル マネージャーまたは FileZilla などのファイル転送プロトコル (FTP) ソフトウェアを使用して、サーバーのファイルにアクセスします。 Web サイトのルート フォルダー (通常はpublic_html、www、または Web サイト名と呼ばれます) に移動します。 ここに.htaccessファイルがあります。
そのファイルが表示されない場合は、隠しファイルを表示できるように設定を有効にする必要がある場合があります。 これは、ホストまたは FTP ソフトウェアによって異なります。 cPanel を使用している場合は、右上の[設定]ボタンをクリックし、続いて [隠しファイル (ドットファイル) を表示] と [保存] をクリックします。
FileZilla では、サーバーに接続する前にこの設定を切り替える必要があります。 あなたがしなければならないのは、サーバー→隠しファイルを強制的に表示することだけです。
.htaccessファイルを見つけたら、それをコンピューターにダウンロードし、 .htaccess_before-changes のような覚えやすい名前に変更します。 その後、行った変更を元に戻す必要がある場合は、このファイルからコードをコピーして、サーバー上のライブ バージョンに貼り付けるだけです。
1.FTP クライアントの使用
.htaccessファイルにアクセスする最善の方法は、FTP クライアントを使用することです。 コントロール パネルをホストする場合、FTP クライアントはファイル マネージャよりもナビゲートしやすい傾向があり、サイトのディレクトリやファイルとのやり取りをより詳細に制御できます。
どの FTP クライアントを使用するかはあなた次第です。 ただし、以前に FTP を使用したことがない場合は、オープンソースの FileZilla オプションを検討することもできます。
WordPress に接続するには、サイトの FTP 資格情報が必要です。 これらは、ホスティング プランにサインアップしたときに受け取っているはずです。 そうでない場合は、ホスティング コントロール パネルで見つけることができます。
正しい資格情報を取得したら、FTP 経由で Web サイトに接続します。 www 、 public_html 、 public 、またはサイトの名前が含まれるフォルダーに移動します。 これらは、WordPressルートディレクトリの最も一般的な名前です。
ディレクトリを開くと、次のようなファイルとフォルダーのコレクションが表示されます。
探しているファイル.htaccessは、この最上位ディレクトリにあります。 見つかったら、ファイルを右クリックして [表示/編集]を選択します (このオプションの名前は、使用している FTP クライアントによって異なる場合があります)。 これにより、デフォルトのテキスト エディターを使用してファイルが開きます。
繰り返しますが、この手順を実行する前に、間違いを犯した場合にコードを復元できるように、ファイルを安全な場所にダウンロードしてください。
このファイルに加えた変更は、「# END WordPress」行の前に置く必要があります。 物事を整理しておくために、他のコードとは別の行で新しいコード スニペットを追加することをお勧めします。
可能であれば、次のようなコメントも追加して、各スニペットの機能を識別します。
# This is a comment
そうすれば、ファイルに戻ってそのコードの一部を削除すると、各スニペットが何をするかを正確に知ることができます。 準備ができたら、変更をファイルに保存して閉じます。
FTP クライアントは、サーバー上のファイルを更新するかどうかを尋ねます。 はいというオプションを選択すると、それだけです。 .htaccessに加えた変更は、現在有効になっているはずです。
2. cPanel の使用
ソフトウェアにはファイルマネージャー機能が含まれているため、cPanel を使用して WordPress .htaccessファイルを編集するのは比較的簡単です。 ただし、ファイル マネージャーに含まれているテキスト エディターは非常に必要最小限のものであることを覚えておいてください。 可能であれば、代わりに FTP クライアントを使用することをお勧めします。
cPanel を使用する場合は、ホスティング コントロール パネルにログインし、[ファイル] セクションで [ファイルマネージャー] オプションを探します。
次の画面で、 www 、 public_html 、 public 、または Web サイトの名前と呼ばれるディレクトリを探します。 それがあなたの WordPress ルートです ディレクトリにあり、 .htaccessファイルが含まれています。
.htaccessを右クリックし、[編集] オプションを選択します。 これにより、ファイル マネージャーのテキスト エディターが開き、ファイルを変更できるようになります。 繰り返しますが、必要に応じて復元できる最新バージョンの.htaccessファイルを手元に用意しておいてください。
前のセクションで、 .htaccessを安全に編集する方法について説明しました。 サーバーで問題が発生しないように、ファイルにコードを追加する前に、これらの手順を確認してください。
3. WordPress プラグインの使用
FTP クライアントまたは cPanel を使用して.htaccessファイルにアクセスしたくない場合、一部のプラグインは WordPress ダッシュボードからこの機能を提供します。 一例として、WebFactory の Htaccess File Editor があります。
このプラグインは、新しいWP Htaccess Editorタブをダッシュボードに追加します。 ここから、 .htaccessでのみ機能する基本的なテキスト エディターを使用できます。
通常のテキスト エディタよりもプラグインを使用して.htaccessを編集する利点は、保存する前にファイルをテストするなどの機能にアクセスできることです。 エラーが発生した場合に備えて、バックアップを復元できる場合もあります。
.htaccessを編集できるその他のプラグインには、Redirection や Htaccess File Editor などがあります。 ほとんどの場合、FTP over プラグインを使用することをお勧めします。 ただし、 .htaccessに小さな変更を加えることだけを計画している場合は、プラグインでうまくいくかもしれません。
新しい WordPress .htaccess ファイルを作成する方法
新しい WordPress .htaccessファイルの作成は比較的簡単です。 ルートに移動すると、 .htaccessファイルが表示されないことがあります。 WordPress Web サイトのフォルダー。 これは、WordPress がまだファイルを生成していないために発生する可能性があります。
サイトのデフォルトのパーマリンク構造を変更するまで、WordPress が.htaccessファイルを生成しないことがあります。 これを行うには、に移動します 設定 → パーマリンク。 WordPress のデフォルトのパーマリンク構造はプレーンに設定されています。 ただし、その構造を別の、よりユーザーフレンドリーなオプション ( Post nameやMonth and nameなど) に変更したい場合があります。
パーマリンク構造をPlainから変更すると、WordPress は新しい.htaccessファイルを生成します。 選択した新しい構造の説明が含まれています。
サイトのパーマリンク構造への変更を保存したら、WordPress ルートに戻ります。 フォルダ。 内部にはまったく新しい.htaccessファイルがあり、編集を開始する準備ができているはずです。
現在の .htaccess を置き換える方法 新しいファイル
.htaccessファイルを元の内容に復元する場合は、すべてのカスタム コードを削除するか、完全に置き換えることができます。 多くの場合、ファイルを置き換える方が簡単なオプションです。 これは特に、エラーが発生し、コードのどの部分がエラーを引き起こしているかわからない場合に当てはまります。
先に進む前に、念のため、既存の.htaccess ファイルのコピーをダウンロードしてください。
まず、デフォルトの.htaccessファイルの新しいコピーを作成する必要があります。 これを行うには、コンピューターに.htaccessという名前の新しいファイルを作成します (ピリオドを含む)。
次に、テキスト エディターを使用して新しいファイルを開き、次のコードを貼り付けます。
# BEGIN WordPress 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] # END WordPress
これは.htaccessファイルのデフォルト コードであり、すべての Web サイトで機能するはずです。 唯一の例外は、マルチサイト インストールを使用している場合です。 その場合、デフォルトの.htaccessファイルは次のようになり、サブディレクトリがセットアップされます。
# BEGIN WordPress Multisite # Using subfolder network type: https://wordpress.org/support/article/htaccess/#multisite RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] # add a trailing slash to /wp-admin RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L] RewriteRule . index.php [L] # END WordPress Multisite
または、マルチサイトにサブドメイン設定を使用している場合、コードは次のようになります。
# BEGIN WordPress Multisite # Using subdomain network type: https://wordpress.org/support/article/htaccess/#multisite RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] # add a trailing slash to /wp-admin RewriteRule ^wp-admin$ wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^(wp-(content|admin|includes).*) $1 [L] RewriteRule ^(.*\.php)$ $1 [L] RewriteRule . index.php [L] # END WordPress Multisite
いずれにせよ、新しい.htaccessファイルを保存し、WordPress ルートにアップロードします。 ディレクトリ。 FTP または cPanel を使用してディレクトリにアクセスするには、以前の手順に従ってください。 中に入ったら、既存の.htaccessファイルを削除して新しいファイルをアップロードするか、単にアップロードして上書きします。
に追加できるルールの 5 つの例。 htaccessファイル
.htaccessファイルを編集して WordPress に新しい機能を追加するには、いくつかの方法があります。 各コード スニペットは、サーバーに何をすべきかを伝えるため、「ルール」と呼ばれます。
このセクションでは、WordPress .htaccessファイルに実装できるいくつかのルールを紹介し、それらが何をするかを説明します!
1. HTTPS 経由ですべてのトラフィックをリダイレクトする
Secure Sockets Layer (SSL) 証明書を WordPress に追加したら、HTTPS 経由でロードするように Web サイトを構成する必要があります。 この変更を実装するために使用できるプラグインがいくつかありますが、新しいルールを.htaccessファイルに追加することで実装することもできます。
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
このルールは、HTTPS 経由ですべての HTTP 要求を処理する 301 リダイレクトを実装します。 このルールを実装した後にブラウザにセキュリティ エラーが表示される場合は、サイトの SSL 証明書に問題がある可能性があります。
2. ディレクトリにパスワードを追加する
.htaccessを使用すると、Web サイトの特定の部分をパスワードで保護できます。 パスワード プロンプトはログイン画面としてではなく、ブラウザから直接ポップアップ ウィンドウとして表示されます。 正しいパスワードを入力しないと、サーバーはページへのアクセスをブロックします。
この例では、コードを使用して WordPress 管理ダッシュボードをパスワードで保護しています。
<Files /wp-admin> AuthName "Prompt" AuthType Basic AuthUserFile /wp-admin Require valid-user </Files>
スニペットの「/」の後の部分を編集することで、パスワードを追加するページを変更できます。 たとえば、パスワード プロンプトを/wp-login.phpに追加して、ログイン ページをさらに保護することができます。
注: ホームページにアクセスするためにパスワードを要求すると、Jetpack の接続が切断されます。 したがって、Jetpack のツールを使用している場合は、このルールを実装する必要はありません。
3. 特定のファイルへのアクセスを無効にする
Web サイトの一部へのアクセスを無効にするだけでなく、すべてのユーザーが特定のファイルにアクセスできないようにすることもできます。 このルールは、コア ファイルをダウンロードしたり編集したりできるようにしたくない場合に便利です。
このルールでは、指定した名前のいずれかに一致するファイルに訪問者がアクセスしようとすると、その接続をブロックする必要があることをサーバーに伝えるコードを使用しています。
<FilesMatch "^.*(error_log|wp-config\.php|\.[hH][tT][aApP].*)$"> Order deny,allow Deny from all </FilesMatch>
「|」で区切ることで、そのリストにさらにファイルを追加できます。 最後の「|」が 1 つあることに注意してください。 ルール内の最初の行のスラッシュの直前の記号。
4. IP アドレスをブロックリストに登録する
.htaccessの最も便利な機能の 1 つは、特定の IP アドレスをブロックリストに登録する機能です。 ブロックリスト ルールを使用して IP アドレスを含めると、サイトのどのページにもアクセスできなくなります。 そのルールは次のようになります。
order allow,deny deny from 192.168.1.1 allow from
この例では localhost IP を使用していますが、他のアドレスに置き換えることができます。 複数のアドレスを含めるには、カンマで区切ります。
IP をブロックリストに登録すると、そのアドレスを持つユーザーはサイトのページをまったく読み込めなくなります。 404 エラーが表示されたり、ログイン ページにリダイレクトされたりすることはありません。 代わりに、「アクセスが拒否されました」というエラーが表示されます。
で IP アドレスをブロックまたは許可することを理解することも重要です。 htaccessは、サーバー レベルで、またはセキュリティ プラグインやサービスを介して行われる IP のブロックまたは許可に取って代わるものではありません。 そのため、IP アドレスがサーバー レベルおよび使用するセキュリティ プラグインで許可されていることを確認することが重要です。
5.リダイレクトを追加する
.htaccessファイルを使用して、複数の種類のリダイレクトを実装できます。 以前、リダイレクトを使用して WordPress を強制的に HTTPS 経由でロードする方法を紹介しました。 ただし、1 つのページを 2 番目のアドレスにリダイレクトする、より単純なルールを実装することもできます。
.htaccessでの基本的な 301 リダイレクトは次のようになります。
Redirect 301 /page.html http://www.yoursite.com/page2.html
このファイルは、Web サイト全体を新しい URL にリダイレクトするなど、より複雑なリダイレクトもサポートしています。 実際のルールは次のようになります。
Options +FollowSymLinks RewriteEngine on RewriteRule (.*) http://www.newsite.com/$1 [R=301,L]
このルールは、Web サイトでの作業を停止し、そのすべてのトラフィックを別のプロパティにリダイレクトする場合に役立ちます。
301 リダイレクトは「永続的」であることに注意してください。 つまり、検索エンジンはそれらを「このページは完全に新しいアドレスに移動しました」と解釈し、そのリンク エクイティの一部を渡します。
.htaccessファイルに関するよくある質問
WordPress .htaccessファイルについてまだ質問がある場合は、このセクションで回答します。 このファイルで何ができるかについて話すことから始めましょう!
.htaccess でできること WordPressのファイル?
WordPress の.htaccessファイルは非常に用途が広いです。 これを使用して、リダイレクトを実装したり、サイトのパーマリンク構造を更新したり、IP アドレスをホワイトリストに登録したり、ディレクトリをパスワードで保護したり、サイトを HTTPS 経由で強制的にロードしたりできます。
これらの変更には、プラグインを使用するか、 .htaccessファイルにコードを追加する必要があります。 スニペットはこの記事を含めてオンラインで見つけることができるので、コーディングに慣れていなくてもこれを行うことができます!
WordPress の.htaccessファイルが見つからない場合はどうすればよいですか?
WordPress ルートで.htaccessファイルが見つからない場合があります ディレクトリがまだ作成されていない場合。 場合によっては、Web サイトのパーマリンク構造をプレーンから変更しない限り、WordPress はファイルを生成しません。 別のオプションに。 この記事の前半で、これを行う方法を説明しました。
.htaccessの変更はすぐに反映されますか?
.htaccessに加えた変更は、すぐに適用する必要があります。 変更を有効にするためにサーバーを再起動する必要はありません。
ファイルを編集しても変更がすぐに反映されない場合は、Web ホストに問題がある可能性があります。 場合によっては、ホスティング プロバイダーが、 .htaccessファイルがサーバーの構成を上書きするために必要なアクセス許可を提供していないことがあります。 これは、共有ホスティング プランで特に一般的です。
プラグインを使用して編集する必要がありますか。 htaccess ?
多くのプラグインは.htaccessを編集できますが、これらのツールの中にはファイル自体にアクセスできないものがあります。 たとえば、リダイレクト プラグインを使用する場合、おそらく.htaccess 経由でリダイレクトを実装しますが、ファイルの変更は表示されません。
一部のツールを使用すると、ダッシュボードから.htaccessを編集できます。 しかし、これらのプラグインは多くの場合、エディター機能が制限されているため、変更の実装が難しくなっています。 お気に入りのテキスト エディターを使用して.htaccessを操作できるように、可能な限り FTP を使用することをお勧めします。
WordPress サイトの . htaccessファイルがハッキングされる?
攻撃者がサーバーにアクセスできる場合、 .htaccessファイルにもアクセスし、それを使用してサイトの一部を破壊し、悪意のあるリダイレクトを実装し、Web サイトから完全に締め出すことさえできます.
Web サイトを定期的にバックアップすることは、ユーザー データを保護し、攻撃によるダウンタイムを回避するために不可欠です。 Jetpack セキュリティを使用すると、リアルタイムの自動バックアップとマルウェア保護にアクセスできます。
Jetpack は、Web サイトにファイアウォールも追加します。 この機能は、DDoS イベントや WordPress ログイン ページへのブルート フォース攻撃など、他の攻撃をさらに防ぐのに役立ちます。
を編集するにはどうすればよいですか。 Nginxのhtaccessファイル?
.htaccessファイルは Apache サーバーに固有です。 Apache は市場で最も人気のあるサーバー ソフトウェア オプションの 1 つであるため、これらは依然として非常に一般的です。 しかし、それだけではありません。
多くの一般的な WordPress Web ホストは、Apache よりもいくつかの利点があるため、Nginx を使用しています。 しかし、Nginx サーバーには.htaccessファイルがありません。 つまり、この記事で説明したカスタマイズのいくつかを実装できないか、プロセスがまったく異なる可能性があります。
デフォルトの WordPress .htaccess の例は何ですか ファイル?
デフォルトでは、 .htaccessファイルはほとんどの WordPress Web サイトで同じように見えるはずです。 ファイルに変更を加えていない場合、ファイルに含める必要があるコードは次のとおりです。
# BEGIN WordPress 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] # END WordPress
カスタマイズ中にエラーが発生した場合は、このコードを使用して.htaccessファイルを元の設定に復元できます。 この記事の前のセクションのいずれかに、ファイルを置き換える方法の説明が含まれています。
WordPress を変更します。 htaccessファイル
WordPress .htaccessファイルにアクセスして編集する方法を知っていると、Web サイトの主要な機能を変更して安全に保つのに役立ちます。 編集方法を知っていれば、このファイルをパスワード保護ディレクトリへのリダイレクトの実装から何にでも使用できます。
WordPress コア ファイルを扱っているため、事前にバックアップを作成することを常にお勧めします。 ファイルの作業を開始したら、この記事のコード スニペットを使用して新しい機能を実装できます。
.htaccessファイルを編集することは、WordPress Web サイトを保護する 1 つの方法にすぎません。 Jetpack スキャンは、サイトの脅威を常に監視し、問題があれば通知し、問題の解決を支援します。 今すぐ Jetpack スキャンをチェックしてください!