📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

 
(同じ利用者による、間の2版が非表示)
198行目: 198行目:
  RewriteRule ^ - [L]
  RewriteRule ^ - [L]
  </syntaxhighlight>
  </syntaxhighlight>
<br>
また、OR条件の場合のみ、複数の<code>RewriteCond</code>ディレクティブを1つにまとめることが可能である。<br>
<br>
以下の例では、<code>|</code> (パイプ) を使用して、OR条件を使用している。<br>
これにより、リクエストURIに"osaka"または"osk"が含まれている場合にマッチする。<br>
<br>
<u>※注意</u><br>
<u>複数の条件を1行にまとめる場合は、OR条件 (<code>|</code>) のみが可能である。</u><br>
<u>AND条件は、複数の<code>RewriteCond</code>ディレクティブを別々の行に記述することにより表現する。</u><br>
<br>
<syntaxhighlight lang="apache">
RewriteCond %{REQUEST_URI} osaka|osk
# 3つの条件のいずれかに該当する場合にリダイレクトを行う
RewriteCond %{REQUEST_URI} Qt|QML    [NC,OR]
RewriteCond %{THE_REQUEST} \s(Qt|QML) [NC,OR]
RewriteCond %{QUERY_STRING} Qt|QML [NC]
RewriteRule ^(.*)$ </path/to/redirect> [L,R=301]
</syntaxhighlight>
<br>
1つにまとめる場合、以下に示すようなメリットがある。<br>
ただし、パフォーマンスに大きな影響を与えるものではないため、可読性を重視する場合は別々に記述しても構わない。<br>
* コードがより簡潔になる。
* パフォーマンスが若干向上する可能性がある。 (1回の条件チェックで済むため)
<br>
<br>


366行目: 390行目:
<br>
<br>
==== 全角文字の取り扱い ====
==== 全角文字の取り扱い ====
.htaccessファイルにおいて全角文字の使用は非推奨である。<br>
.htaccessファイルでは、以下に示す理由から、全角文字の使用は非推奨である。<br>
* エンコーディングの問題
* エンコーディングの問題
*: .htaccessファイルは通常ASCII文字セットで保存される。
*: .htaccessファイルは通常ASCII文字セットで保存される。
376行目: 400行目:
* URLエンコーディング
* URLエンコーディング
*: URLには通常ASCII文字のみが使用されるため、全角文字はURLエンコードされる必要がある。
*: URLには通常ASCII文字のみが使用されるため、全角文字はURLエンコードされる必要がある。
<vr>
<br>
そのため、以下に示すようにURLエンコードされた文字列を使用する必要がある。<br>
そのため、以下に示すようにURLエンコードされた文字列を使用する必要がある。<br>
  <syntaxhighlight lang="apache">
  <syntaxhighlight lang="apache">
382行目: 406行目:
  RewriteCond %{REQUEST_URI}  "%E3%81%BB%E3%81%92"                  [OR]
  RewriteCond %{REQUEST_URI}  "%E3%81%BB%E3%81%92"                  [OR]
  RewriteCond %{THE_REQUEST}  \s"%E3%81%BB%E3%81%92"                [OR]
  RewriteCond %{THE_REQUEST}  \s"%E3%81%BB%E3%81%92"                [OR]
  RewriteCond %{QUERY_STRING} "%E3%81%BB%E3%81%92"                   [OR]
  RewriteCond %{QUERY_STRING} "%E3%81%BB%E3%81%92"
  </syntaxhighlight>
  </syntaxhighlight>
<br>
<br>
388行目: 412行目:
<br>
<br>
もし全角文字の使用が絶対に必要な場合は、Apacheの設定でUTF-8エンコーディングが正しく処理されることを確認する。<br>
もし全角文字の使用が絶対に必要な場合は、Apacheの設定でUTF-8エンコーディングが正しく処理されることを確認する。<br>
ただし、上記の理由から、可能な限りURLエンコードされた文字列を使用することを強く推奨する。<br>
<br>
<u>ただし、上記の理由から、可能な限りURLエンコードされた文字列を使用することを強く推奨する。</u><br>
<br><br>
<br><br>