RewriteCond ディレクティブは、 RewriteRule ディレクティブによって URL のリライトやリダイレクトが行われる条件を定義します。一つまたは複数の条件を定義し、条件が真となった場合にその直後に記述された RewriteRule ディレクティブが評価されます。ここでは Apache の RewriteCond ディレクティブの使い方について解説します。
問い合わせフォームと管理画面だけ強制的に https でアクセスさせたい場合のメモ。 いろいろと調べて試行錯誤した結果、.htaccessに以下のように書いて実現した。 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / # HTTPでアクセスされた場合、 RewriteCond %{HTTPS} off # 以下のURLは常に https にリダイレクトする RewriteCond %{HTTP_HOST} www.example.com RewriteCond %{REQUEST_URI} ^/admin/.*$ [OR] RewriteCond %{REQUEST_URI} ^/inquiry/.*$ # ただし以下は除く RewriteCond %{REQUEST_URI} !^/assets/.*$ RewriteCon
※この記事では、エックスサーバーで「SSLサーバ証明書」を発行し、WordPressのサイトアドレスを変更した前提で進めていきます。 全てのページをSSL化するため、「http://」から「https://」にリダイレクトするように設定します。 「http」と「https」は別のサイトとして扱われるため、リダイレクトにより3つの効果が得られます。 「https」が「http」のコピペサイトではないと認識してもらう サイトを「https」に統一してユーザーのアクセスを集める 「http」でインデックスされている検索エンジンの評価を「https」に引き継ぐ それでは、設定をしていきましょう。 「常時SSL化」の参考記事 なぜ「常時SSL化」をしなければいけないのか? 仕組み、重要性、メリット・デメリット、いつ移行すべきか、については下記を参考にしてください。 常時SSL化(https)のメリッ
あとで読みたい人は… @cappeeです。 ドメインを取得して新しいサイトをつくったら、SEO的にもURLの最適化を必ず行うべきです。 最近ではシンプルなURLが主流で、シンプルにしたからといってSEO的なペナルティなどもありまえんので、ユーザーに覚えてもらいやすいURLにした方がいい。というわけで、「.htaccess」を使います。 シンプルなURLにする ここでいうシンプルなURLとは例えば下記のように、wwwなしで統一し、ファイルの拡張子もなくしてしまうURLのことです。シンプルなURLにするために「.htaccess」でリライトを指定します。 長いURL http://www.cappee.net/category/name.php シンプルなURL http://cappee.net/category/name .htaccessとは Webサーバ(Apacheなど)で使用できる
URLを変更した場合、通常「.htaccess」ファイルを利用して301リダイレクトをかけますが、URLに日本語が含まれている(いた)場合、「.htaccess」の記述方法によっては301リダイレクトがうまく機能しない場合があります。 ここでは私の失敗を含めて対処法をまとめておきたいと思います。 「日本語が含まれているURL」を「半角英数字のみのURL」に変更 これまでWordPressで運営しているサイトのURLを「URLに日本語が含まれているとSEO的に有利かも?」という理由で次のようにしていました。 http://hogepiyo.jp/○○○(記事名).html しかし最近ではSEO効果も薄れていますし、URLに日本語が含まれていると何かと不便なので半角英数字のみのURLに変更しました。 【例】 http://hogepiyo.jp/日本語.html ↓ http://hogepi
mod_rewriteを使用してクエリ文字列(URLパラメタ)があるURLを変換してリダイレクトしようとしたときに少しハマリかけたので、備忘録として書いておきます。 今回リダイレクトしたURL 今回は、以下の旧URLから新URLにリダイレクトさせるケースでやってみました。 内容としては、旧URLのクエリ文字列(URLパラメタ)の「id」「name」に設定された値が、新URLではディレクトリとファイル名として使用できるようにするといったものです。 旧URL 新URL 形式 /foo/index.html?id=数字列&name=文字列 /foo/文字列/数字列.html サンプル /foo/index.html?id=123&name=bar /foo/bar/123.html RewriteRuleで試す まずは「RewriteRule」で正規表現を使ってリダイレクトする設定を書いてみまし
詳しい内容はスライドを見ていただくとして、.htaccess を使ってリダイレクトを行う際に、つまづきやすいポイントをいくつか取り上げて、ブログ記事として整理しておきたいと思います。 Redirect permanent と、RewriteRule はどう使い分けるのか 実は、私がずっと疑問に思っていたのはこれなんですね(笑) たとえば、サーバー移転の時のリダイレクトの書き方は Redirect permanent / http://example.com/ と、 RewriteEngine On RewriteRule ^(.*)$ http://example.com/$1 の2通りの書き方があるわけですが、ググってもたいてい1つ目の書き方が書かれているだけで、リダイレクトの内容が難しくなるといきなり RewriteEngine On とか出てきて、なぜ2通りの書き方があるのかという疑
ウェブサイトを圧縮することで、ファイルの読み込み時間を短縮し サイトの表示速度を早くする方法があります サイトをgzipという形式に圧縮することが可能です gzipに圧縮する方法として、.htaccessを利用して圧縮をします .htaccessを使いgzipで圧縮して、サイトの表示速度を早くする 目次 .htaccessの作成、又は変更 gzipに圧縮されたか確認する 1 .htaccessの作成、又は変更 .htaccessがサイトのルートディレクトリにある必要があります ない場合は新規に作成してFTPでアップロードします ファイル名の頭に ドットのファイルはメモ帳では作成できないので アップロードしてからリネームします .htaccessに次の文を記入するだけでgzipが有効になります AddOutputFilterByType DEFLATE text/html text/css
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く