.htaccessの書き方が知りたい.htaccessを分かりやすく解説している記事を探しているコピペで使える.htaccessのコードを探している Webサイト運営に携わっていると目にすることになる「.htaccess」というファイル。 httpからhttpsへのリダイレクト設定や、ページ構成に変更があって新しいURLへリダイレクト設定を行いたい。という場合に、.htaccessに辿り着く方が大半でしょう。 この記事では、.htaccessとはそもそも何なのか?という基本をはじめ、具体的な書き方や、コピペで使えるコードを紹介していきます。
メンテ中に表示するページを用意 メンテナンスをしている旨を書いた簡単なHTMLなどのページを “maintenance.html” などの名前で用意します。 メンテ用 .htaccess ファイルを用意 メンテナンスモードに使うための .htaccessファイルを新規に用意するか既存 .htaccessファイルにメンテモード用の記述を追記します。 フルバージョン <IfModule mod_rewrite.c> ## メンテモードで表示するHTMLファイル ErrorDocument 503 /maintenance.html RewriteEngine On ## メンテモード用HTMLが存在する場合にメンテモード RewriteCond %{DOCUMENT_ROOT}/maintenance.html -f ## メンテモード用のHTMLファイルを除外 RewriteCond %{R
basic認証の設定ですが、たまにしか使わないのですぐに忘れてしまいます…。 覚えているうちにまとめてみました。 ファイルの準備 ベーシック認証を設定するためには、パスワードをかけたいディレクトリに 以下の2つのファイルを設置する必要があります。 .htaccess・・・ウェブサーバの設定を記述する .htpasswd・・・基本認証用のIDとパスワードを記述する .htpasswdを用意する 1.認証に必要なIDとパスワードを用意します。 下記のサービスを利用すれば、簡単にパスワードを作成できます。 設定例 user:Cp/qPr9kgUPSU htpasswdファイル生成(作成) .htaccess ファイルを簡単作成「.htaccess Editor」 基本認証用パスワード暗号化 2..htpasswdというファイルを新たに作成し、出力されたテキストをコピー&ペーストしてください。 .
WordPressでhttpからhttpsへリダイレクトする場合.htaccessに記載します。SiteGuard WP Pluginを使っている場合、は注意点があるのでご説明します。 まず最初に完成形をお見せします。 # BEGIN httpをhttpsに統一 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule> # END httpをhttpsに統一 #SITEGUARD_PLUGIN_SETTINGS_START #==== SITEGUARD_RENAME_LOGIN_SETTINGS_START <IfModule mod_rewrite.c> Rew
Webサイトの管理者として、特定のユーザーのみにアクセスを許可したいと考えることはよくあります。例えば、社内限定の情報を掲載したサイトや、テスト環境へのアクセスを制限したい場合などです。そんな時に役立つのが、Webサーバーの設定ファイル「.htaccess」の活用です。 .htaccessのRequireを使ってベーシック認証やリダイレクト等が設定できますが、今回はWebサイトに特定のIPアドレスからしかアクセス出来ないアクセス制限を設定する方法をご紹介します。 悪質なアクセス元(IP)を拒否するために掛けたりすることはありますが、固定IPアドレスを持ってる場合は逆に固定IPアドレスからしかWebサイトを閲覧出来ない様にできます。固定IPアドレスを持ってる会社内からしかアクセスできない様なWebサイトを作ることができます。 .htaccessとは何か? .htaccessは、Apacheな
Webの開発や運営をしていると、簡易CMS(Contents Management System)を用意して作業の効率化を図ったり、メンテナンス自体をWebページから出来るようにしたりすることがあるかと思います。 その際、当然のことながら、その管理ページへ誰でもアクセスできてしまうと困るため、PHPでログインシステムを組んだり、BASIC認証をかけたりしますよね。 BASIC認証のパスワードファイルに相対パスは使えない Require valid-user AuthType Basic AuthUserFile /virtual/example.com/.htpasswd AuthName MembersOnly 例えばこんな感じの.htaccessファイルを用意して、BASIC認証したいディレクトリに置くのが一般的※かと思いますが、このAuthUserFileに相対パスは使えません。 レ
<IfModule mod_headers.c> Header set Content-Security-Policy "○○-src 'self'; ○○-src https://foo.com;" </IfModule> <IfModule mod_headers.c> Header set Content-Security-Policy " \ default-src 'none'; \ script-src https://morisakimikiya.com/js/ \ https://ajax.googleapis.com/ajax/libs/jquery/ \ https://www.google.com/recaptcha/ \ 'sha256-*****'; \ font-src https://fonts.gstatic.com/; \ block-all-mixed-
キャッシュを有効化すると次回アクセス時に表示が高速化されるので、設定しておいて損はないと思うんですが、いつも「どうやってたっけ?」となるので自分がコピペするようにメモしました。 やってることコンテンツタイプ追加アイコンとjsonとフォントのコンテンツタイプを追加。(textとかhtmlとか画像は追加済みだと思う) gzip圧縮を有効化古いブラウザで問題があるので除外。 本当は最初の1行で全部圧縮が有効になる。【訂正】最初の1行で全部圧縮が有効になる環境と、いちいちMIMEタイプ指定して追加しないと有効にならない環境がありました。 そもそも圧縮済みの画像は圧縮しない。 キャッシュの寿命を指定phpは30秒、htmlとかtxtは1週間、cssとかjavascriptとかmapファイル、あと画像が3カ月、pdfは1カ月、フォント関係は6カ月に設定してみた。というか、自分の場合、画像やスクリプトは
「Wordpress で.htaccessに設定を書けばアクセス先をリダイレクトしてくれるのか~」 「...よし、設定OK。ちゃんとリダイレクトされてる。」 : 数日後 : 「あれ??.htaccessの編集内容が消えてる!?」 どうも、こんにちは。”ネロ”です。 無料ブログからWordpressへ移行したりHTTP化対応の際にリダイレクト設定を行うときに、.htaccessの内容が消えてしまうことがありませんか? ぼくもこのブログを作成する際にやってしまいました。 しかも2回も。。 .htaccessのどこに書けばよいの?.htaccessの内容は初期状態で以下のようになっています。 SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off SetEnvIf Request_URI ".*" Ngx_Cache_StaticMode # BE
htaccess phpのframeworkではよくある.htaccess これで、配置されているディレクトリ以下は、rootディレクトリのindex.phpにアクセスして frameworkで制御されるようになっている 実際のコード # BEGIN WordPress # "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は # 動的に生成され、WordPress フィルターによってのみ修正が可能です。 # これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。 <IfModule mod_rewrite.c> RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / Rewrite
vue-routerを使ってSPAをリモートサーバにデプロイしてみたところ、 ローカルでは問題なかったページリロードで404が返り、「??」となりました。 調べてみたところ、公式に設定方法が記載されていたので、 https://router.vuejs.org/guide/essentials/history-mode.html#html5-mode 設定しようとして、少しハマりましたので備忘録残します。 CentOS8環境上のapacheで、まず、httpd.confの記述で少しハマりました。 をまず設定してやることが必要でした。.htaccessの適用のために。(その他のオプションは割愛) また、/var/www/dirの部分は、公開ディレクトリルート設定なので、環境に合わせて変える必要があります。 まずここがハマりどころでした。 次に、肝心の.htaccessの内容は、公式にある以下
クエリー文字列が含まれるURLを.htaccessでリダイレクトしたい http://sample.com/?p=123 を http://sample.com/new.html へ転送したい 転送元と転送先は同じドメインです。 wordpressでの運用をやめて、手動でurlをつけるサイトにしようと考えています。 転送元の?p=以下の数字と、転送先のファイル名に規則性はありません。 Redirect permanent /?p=123 http://sample.com/new.html Redirect permanent /?p=666 http://sample.com/shin.html Redirect permanent /?p=007 http://sample.com/sara.html コードをこのように書いても、クエリー文字列が含まれているためリダイレクトできませんで
ブラウザキャッシュとは? ブラウザキャッシュとは、Webサイトにはじめてアクセスした時にサイトのデータをブラウザに一時保存しておき、2回目以降のアクセスではサーバーからでなくブラウザからデータを読み込むという仕組みのことです。 ブラウザキャッシュを使用することでサーバーとブラウザ間のやりとりが減るため、サイトの高速化や転送量を削減できるというメリットがあります。 ブラウザにキャッシュさせるファイルと有効期間は自由に設定することができますが、更新頻度の高いファイルや動的コンテンツなどをキャッシュさせてしまうと、サイトの変更が反映されなかったり正しく動作しなくなるといった不具合が出るので注意が必要です。 .htaccessでブラウザキャッシュの設定をする .htaccessとは、Webサーバーの挙動を設定できるファイルのことで、ApacheというWebサーバーを採用しているレンタルサーバーで使
.htaccessによるアクセス制限が上手く動かない 記述ミスのつもりはないのですが、.htaccessのdenyで記述したアクセス制限が上手く作動していないようです。 具体的には以下の記述がされています。 (ホスト名を記号で伏せて書いてありますが、実際はちゃんと英数字でホスト名を記述し、ホスト名の後方一致によるアクセス制限をかけています) <Limit GET POST> order allow,deny allow from all deny from .■□■.ne.jp deny from .△■○.com.cn </Limit> (↓以下、ユーザーエージェント指定による別のアクセス制限記述が続きますが省略) 上述の【 .△■○.com.cn 】がきちんと制限されていないらしく、本日アクセス解析に載ってきてびっくりしました。 何度確かめても、一言一句、間違いなく.htaccessに
WEBサイトのメンテナンスやキャンペーンなどを行う際、指定した時間・時間帯を条件にリダイレクトさせる必要がある場合があります。 今回は、mod_rewriteの機能で時間指定やIPアドレスを条件にしたリダイレクト処理を .htaccessファイル に記述する方法(例)を書いていきます。 指定時間になるまではキャンペーンページを表示させない 指定時間前にキャンペーンページを見られたくはないが、予めサーバーにファイルを置いて準備しておきたい場合などに利用します。 # "2021/01/26 16:00:00" になるまでは # "/campaign/" ページ以下へのアクセスを ホーム "/" へリダイレクトする RewriteCond %{TIME} <20210126155959 RewriteRule ^campaign/(.*) / [R=302,L] 上記のサンプルでは2021年1月
URL正規化とは? URL正規化とは、重複しているURLを1つのURLに統一することです。 SEO面にも大きな影響があるため、サイト運営において必ず取り組むべき施策のひとつとなっています。 URL正規化の必要性 例えば、「http://example.com/」というURLのページには、以下のURLでもアクセスすることができます。 https://example.com/ http://example.com/index.html https://example.com/index.html http://www.example.com/ https://www.example.com/ http://www.example.com/index.html https://www.example.com/index.html
Apacheで拒否 .htaccessがある場所と書き方 <RequireAll>~</RequireAll> の部分をこのように書く方法は、古いApacheになります。 order Allow,Deny Allow from all Deny from env=denybot DotBot SEO関連 Mozilla/5.0 (compatible; DotBot/1.2; +https://opensiteexplorer.org/dotbot; help@moz.com) PhxBot スクレイピング PhxBot/0.1 (phxbot@protonmail.com) TinyTestBot 2023年7月頃から急増?robots.txtをチェックした後、sitemapだけ何度も持っていきます。 ユーザーエージェントなし。 WooRank サイト解析。14日のフリートライアルの後は
「.htaccess」ファイルは、ウェブサーバーの動作制御ファイルです。 「.htaccess」ファイルを使うと、ブラウザに表示したくないファイルを非表示にしたり、ページのURLが変わったときに新しいURLに自動転送する、といった動作を簡単に実装する事ができます。 自分のサイトを公開する際にレンタルサーバーを利用している方も多いと思います。 中には「.htaccess」は利用不可のサーバーもありますが、最近のレンタルサーバーの多くは利用可能となっています。 ここでは、サイト運営に役立つ「.htaccess」ファイルの作り方から、覚えておくと便利な設定の書き方をまとめてみました。 .htaccessファイルの基本ルール 「.htaccess」ファイルは、必ず「.htaccess」という名前にする必要があります。 Windowsなどのエクスプローラーでは、先頭に「.」のつくファイル名は作成でき
WordPressのセキュリティ対策ってほどではないですが、記事投稿をします。 ファイル「wp-config.php」はWordPressにおいてセキュリティ上、重要な情報が格納されています。 「wp-config.php」へのアクセスを「.htaccess」を使って拒否します。同時に「wp-config.php」パーミッション設定も行っておきましょう。 それでは解説します。 「.htaccess」を使って「wp-config.php」へのアクセス拒否します。 以下の一文を「.htaccess」に追加してください。これでアクセスしようとすると「403エラー」がかえるはずです。 <files wp-config.php> order allow,deny deny from all </files>
WordPressサイトの.htaccessファイルは、Apacheウェブサーバーで使用される基本設定ファイルです。KinstaはApacheの代わりにパフォーマンスの高いNginxウェブサーバーを使用しているため、Kinstaのお客様なら.htaccessファイルはありません。 ただし、他社のお客様なら、.htaccessファイルを理解することは重要です。これはWordPressチュートリアルで頻繁に出てくるトピックでもあります。 本記事では、WordPressの.htaccessファイルの概要と用途について詳しく説明します。次に、同じ用途を.htaccessファイルのないKinstaで実行する方法もご案内します。 .htaccessの詳細説明 .htaccessと同様な用途をKinstaで実行する方法 .htaccessファイルは、ウェブサーバーの機能を規定する特別なルールを作成できる
自分のサイトで、htaccessを使って海外からのアクセスをブロックして国内のみ閲覧可にするとか、やられてる方も多いと思います。 ただ、特定のディレクトリ(特定のパーマリンク、スラッグ、URLを含む場合のみ)のみアクセス制限したい場合もあるはず。というか私がそういう状況になりました。 htaccessはhtaccessファイルを設置したディレクトリ以下に影響が出るんで、ネット検索しても「ディレクトリ毎にアクセス制限したければそのディレクトリ直下にhtaccessを置けばOK」としかかかれていなくて、「いや、ワードプレスとかだとURLごとのディレクトリを持ってないからそれだとできないんだよなー」と。 あとはワードプレスで限定して検索すると「そのフォルダ名を作っちゃって、そこにhtaccessファイルを置けばいい!」みたいなかなりな荒業?が紹介されてたりして…、それはそれでできるのかもだけど、
WEBサイトをリニューアルする際に、ページ名やディレクトリー名が変更になることはよくありますよね。そういった場合、「検索エンジンに認知されている、あるいは被リンクを受けている旧アドレスにアクセスがあったときは、リニューアル後の新しいアドレスでページが表示されるように設定してほしい」といった要望が当然あると思います。 検索エンジンのインデックスに登録されているページや、被リンクを受けているページがリンク切れになってしまうと、それだけで訪問の機会を損失することになってしまいます。今回は、こういった機会損失を回避するための、.htaccessファイルを使った正しいリダイレクトの設定方法をご紹介します。 .htaccessについて .htaccessとは、WEBサーバーをコントロールするための設定が記述されたファイルのことです。これを、サーバー上に配置することで、.htaccessに記述された設定
WordPressのドメイン移転やカテゴリスラッグやパーマリンク変更時に使う.htaccessリダイレクト集になります。 リダイレクトが不要なケースWordPressの機能によって自動でリダイレクトされるため、リダイレクト処理の実装が不要なケースは以下の通りです。 「記事idから投稿スラッグ名に変更する場合」 デフォルトの「基本」から「投稿名」またはカスタム構造で「/%postname%/」にした場合。 変更前:https://1-notes.com/?p=123 変更後:https://1-notes.com/entry-name/ この場合は.htaccessで設定しなくても変更前のURLにアクセスがあれば自動でリダイレクトされます。 「設定しないまま公開してしまった記事の投稿スラッグ名を変更する場合」 誤ってパーマリンクを設定しないまま記事を公開してしまった場合。 変更前:https
.htaccessで、URLの最後にスラッシュを自動補完する方法です。 WordPressだと、自動的に補完されるのですが、 自力サイトの場合は、自動的には補完されない模様。 厳密には、スラッシュ有りと無しでは違うURLと認識される為、 SEO的にもよろしくないです。 最後のスラッシュの意味は、 スラッシュあり → フォルダを示す スラッシュなし → ファイルを示す らしいです。 サーバーによってはコンパネに設定項目もあるようですが、 とりあえず、以下のコードを.htaccessファイルへ追加するだけで完了します。 簡単ですね。 RewriteCond %{REQUEST_URI} !/$ RewriteCond %{REQUEST_URI} !\.[^/\.]+$ RewriteRule ^(.*)$ $1/ [R=301,L] ↓ 逆に「URLの最後のスラッシュを自動的に消す方法」
なんか今日3人から聞かれたので何でだろうって思ったら、 「.htaccessでファイルがあったらリダイレクトしない」 みたいなかんじで 検索しても出てこないんですね。 「RewriteCond」まで思いつけば割とすぐなんですが。 ということで、こんなかんじですよっと。 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] ・!-f はファイルがあったら以下のRewriteRuleを適用しない ・!-d はファイルがあったら以下のRewriteRuleを適用しない これで「.htaccessでファイルがあったらリダイレクトしない」で検索して ヒットしてくれればいいんだけどw
Basic認証はディレクトリ単位・ファイル単位・ユーザー単位で.htaccessファイルによるアクセス制限を掛ける機能です。 パスワードはハッシュ値に変換して暗号化する必要があるので、ご自身で別途管理する必要があります。 セキュリティ的には決して高いものではないので、多用は禁物です。通信自体を暗号化するためSSLを利用しましょう。 Basic認証とは.htaccessを使った認証システム Basic認証とは特定WEBページの閲覧にユーザー名とパスワードを入力を求める認証システムです。 WEBページへアクセスした際画面上部にポップアップウィンドウが表示され、ユーザー名とパスワードの入力欄が出てくるのを見た事ありますよね。 これがBasic認証と呼ばれるアクセス制限がされているページです。 決められたユーザー名(ID)とパスワードをを入れないとログインすることができないので、ID・パスワードを
こんにちは! 川口でWEBアプリケーション制作を行っているテダスクのToshi Seitoです。 今回の記事では、アプリ名.herokuapp.comから独自ドメインにリダイレクトする方法を共有したいと思います。 Herokuでウェブサービスを公開するにあたり独自ドメインを設定しましたが、そのままだとデフォルトのドメイン(アプリ名.herokuapp.com)にもアクセス出来る状態です。 またSSLをしましたが、そのままだとhttpとhttpsどちらもアクセス出来てしまう状態です。 そこで今回は.htaccessを使って、アプリ名.herokuapp.comにアクセスした場合にhttps+独自ドメインにリダイレクトするように設定する方法を共有したいと思います。
.htaccess と言う単語自体はちょくちょく聞いたりしてたんですが、 そもそも .htaccess 自体が何なのか、何を指しているのかよくわからなかったので、 それに関しての備忘録です。 .htaccess とは .htaccess(ドット・エイチ・ティ・アクセス) とは、Apache(アパッチ)などのソフトウェアが使用されている環境で使用可能なディレクトリ単位のWebサーバー設定ファイルです。 ※ 2020/07/20 追記 .htaccess は Apache でのみ使用可能です。 Nginx などでは使用できません。 これが特定のディレクトリに設置されると、.htaccess 内に記述されている内容が、設置されたディレクトリ内とその下層のディレクトリ内に対して適用されます。 いつ .htaccess ファイルを使うか 基本使わない 基本的に、.htaccess ファイルの使用は極
htaccessで使用可能なディレクティブについて Apacheで「test」ディレクトリだけBASIC認証したいって要望があり、その際に「.htaccess」で記述したい事なので、「.htaccess」に<Directory>ディレクティブに設定すると何度やってもInternal Server Errorになります。 Apacheの設定ファイル(httpd.conf)で同じ設定すると、問題なく動きます。構文ミスなのかと設定するディレクティブを<Location>にしても同じくエラーになります。 Apacheのエラーログには以下のようになっています。 [client xxx.xxx.xxx.xxx] /var/www/html/test/.htaccess: <Directory not allowed here [client xxx.xxx.xxx.xxx] /var/www/html
ワードプレスが多数入ったサーバーが丸ごとハッキングされたようです。 忘備録と対策を残しておきますので、もしご自分のサイトがおかしい・・と感じた時の参考にしてみてください。 ハッキングされたサーバーの状態とハッキングに気づいた理由 まず、サーバーはエックスサーバーでした。 そのサーバーの中にはマルチドメインで複数のドメイン、複数のサイト、HTMLの静的サイトから複数のワードプレスサイトが混在していました。 そのサーバー内のサイトの中には、常日頃から更新をするサイトもあれば、しばらく放置されているものなどさまざまでした。 なぜ、おかしいと気づいたかというと グーグルサーチコンソールから届いたメールです。 「http://www.xxx.xxx.xxxの新しい所有者を追加しました」 ん?? 私はサイトを複数で共有はしていませんし、特に所有者を追加した覚えもありません。 それ以前に、メールに【追加
WordPreesのパーマリンク設定を「基本」以外に変更した場合、.htaccessにリダイレクト設定が追加されますが、意図せず.htaccessが書き換えられてしまうことがあるのでその注意点をまとめました。 動作確認バージョンはWordPress4.9.9と5.0.3です。 WordPressのパーマリンクを設定すると以下の設定が.htaccessに追加されます。 このパーマリンク設定を行って出力された.htaccessのリダイレクト設定部分を変更する場合、注意点があります。 それはWordPressが自動生成した「# BEGIN WordPress」から「# END WordPress」の間の設定は設定>パーマリンク設定を開いただけでもとの設定に戻ってしまうことです。 パーマリンクの設定の更新ボタンを押すことなく、パーマリンクの設定画面を開いただけですぐに更新されてしまうのでやっかいで
aaa ディレクトリの中に以下ファイルがあったとして、 aaa/ 1.php 2.js 3.css どのファイルがリクエストされてもダウンロードさせるには aaa ディレクトリの中に以下 .htacecss を置いておけばOK。 <FilesMatch "^.+$"> SetHandler application/octet-stream Header set Content-Disposition attachment </FilesMatch>
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く