• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

「パーマリンクの使い方」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(HelpHub への転送を追加)
 
1行目: 1行目:
__TOC__
+
このページは https://ja.wordpress.org/support/article/using-permalinks/ へ移動しました。
 
+
パーマリンクとは、ブログの個々の投稿、カテゴリーなどの投稿一覧ページへの恒久的(半永久的)な URL です。パーマリンクは、他のブロガーがあなたの投稿やセクションにリンクを張るときや、投稿へのリンクを Eメールで送ったりするときに使います。個別の投稿への URL は常に存在して決して変らないようにすべきです。そういう訳で、「perma」リンクといいます。
+
 
+
<div id="Permalink_Types">
+
== パーマリンクの形式 ==
+
</div>
+
 
+
WordPress の基本的なパーマリンク形式は以下の3種類です。
+
 
+
<div id="Default:_.22Ugly.22">
+
=== デフォルト: "Ugly" ===
+
</div>
+
 
+
デフォルトでは、投稿 ID が <code>N</code> のときに <pre>http://example.com/?p=N</pre> のようになります。全てのサーバ環境で動くように、新規インストール時のデフォルトはこうなっています。しかしながら、他のオプションが付くと見苦しくなるので好ましくありません。<!-- 「他のオプション」の例を書く。2ページ目とか検索とか? -->
+
 
+
<div id="mod_rewrite:_.22Pretty_Permalinks.22">
+
=== mod_rewrite: "Pretty パーマリンク" ===
+
</div>
+
 
+
mod_rewrite や lighttpd を使用すると、より良いパーマリンクにすることができます。フォーマットは様々ですが、最も一般的で万能なのは次のような形です。
+
<pre>http://example.com/category/post-name/</pre>
+
あるいは
+
<pre>http://example.com/year/month/day/post-name</pre>
+
短いパーマリンクにするために、日付の要素(日・月・年)の全部か一部を取り除く人もいます。
+
 
+
Pretty パーマリンクは、以下の環境で利用できます。
+
 
+
*  Apache、<tt>mod_rewrite</tt> モジュール有り
+
*  Microsoft IIS 7+、URL Rewrite 1.1+ モジュール有り、PHP 5 が FastCGI として動作
+
*  Microsoft IIS 6+、[http://www.kylecaulfield.com/permalink-for-wordpress-iis-6-mod_rewrite-fixed-free ASAPI_Rewrite] を使用
+
*  Lighttpd、[http://chrisjohnston.org/2009/setting-up-a-wordpress-blog-on-lighttpd 404 handler] あるいは [http://blog.nix.is/lighttpd-rewrite-rules-for-wordpress mod_rewrite] を使用 ([[Using_Permalinks#See_Also|参考]]を参照)
+
 
+
<div id="PATHINFO:_.22Almost_Pretty.22">
+
 
+
=== <small>PATHINFO</small>: "Almost Pretty" ===
+
</div>
+
 
+
<code>PATHINFO</code> パーマリンクは、途中に <code>/index.php</code> が挿入されるという差異の他は、<code>mod_rewrite</code> パーマリンクによく似ています。
+
<pre>http://example.com/index.php/yyyy/mm/dd/post-name/</pre>
+
のようになります。それ以外は "pretty" <code>mod_rewrite</code> と変わりなく、柔軟さも同じです。<code>mod_rewrite</code> パーマリンクができることは、<code>/index.php</code> の部分のおかげで <code>PATHINFO</code> パーマリンクでも可能です。
+
 
+
使用しているパーマリンクの形式および WordPress が使用している内部書き換え規則の詳細を表示する便利な[http://www.askapache.com/htaccess/rewriterule-viewer-plugin.html プラグイン]があります。
+
 
+
<div id="Choosing_your_permalink_structure">
+
== パーマリンク構造の選択 ==
+
</div>
+
 
+
「管理画面の設定 → パーマリンク設定」 (WordPress 2.5 以前では「オプション → パーマリンク設定」) で、 一般的な設定から1つを選択するか、構造タグを使用して、カスタム構造に記述することができます。
+
 
+
<strong>注:</strong>
+
パーマリンクの欄には、サイト URL を決して入れないでください。構成タグあるいは構成タグの組み合わせのみを使用してください。
+
 
+
<code>PATHINFO</code> パーマリンクを有効にするには、パーマリンク構造が<code>index.php/</code>で始まるようにします。
+
 
+
[[Image:Parmalink-settings.png‎|650px|center|パーマリンク設定画面]]
+
 
+
<div id="Structure_Tags">
+
=== 構造タグ ===
+
</div>
+
; %year% : 投稿された年を4桁で取得します。例えば、<tt>2004</tt>です。
+
; %monthnum% : 投稿された月を取得します。例えば、<tt>05</tt>です。
+
; %day% : 投稿された日を取得します。例えば、<tt>28</tt>です。
+
; %hour% : 投稿された時(時間)を取得します。例えば、<tt>15</tt>です。
+
; %minute% : 投稿された分を取得します。例えば、<tt>43</tt>です。
+
; %second% : 投稿された秒を取得します。例えば、<tt>33</tt>です。
+
; %post_id% : 投稿の固有IDを取得します。例えば、<tt>423</tt>です。
+
; %postname% : 投稿の投稿名を取得します。
+
; %category% : 投稿のカテゴリーを取得します。サブカテゴリーは入れ子にされたディレクトリとして取得されます。
+
; %author% : 投稿の作成者を取得します。
+
 
+
<div id="Category_base_and_Tag_base">
+
=== カテゴリーベースとタグベース ===
+
</div>
+
 
+
カテゴリーベースとカテゴリーベースは、カテゴリー/タグアーカイブのパーマリンクの前に置かれます。
+
  example.net/wp/<var>category_base</var>/<var>category_name</var>
+
  example.net/wp/<var>tag_base</var>/<var>tag_name</var>
+
カテゴリーベースのデフォルト値は、<code>category</code>です。タグベースのデフォルト値は、<code>tag</code>です。値を変更することはできますが、取り除くことはできません。
+
 
+
これらのパーマリンクはほとんどのシステムで問題なく動作しますが、問題が生じる環境もあります。
+
 
+
 
+
<div id="Using_.25category.25_with_multiple_categories_on_a_post">
+
<!-- <div id="Using_.25category.25_with_multiple_categories_on_a_post.2C_or_.25tag.25"> <!-- 11 February 2009 -->
+
=== 複数カテゴリにした投稿の <code>%category%</code> と <code>%tag%</code>===
+
</div>
+
 
+
一つの投稿に複数カテゴリを指定していても、パーマリンクには一つしか表示できません。一番小さいカテゴリ ID([[:en:Manage_Categories_SubPanel|カテゴリ管理]] 参照)が使われます。アクセスはどのカテゴリからでも普通にできます。 <!-- 同レベルのカテゴリの話? -->
+
 
+
パーマリンク構造に <tt>%tag%</tt> を使用している場合も、同様です。
+
 
+
<div id="Using_.22Pretty.22_permalinks">
+
== "Pretty" パーマリンクの使い方 ==
+
</div>
+
 
+
要件:
+
 
+
*mod_rewrite モジュールがインストールされた Apache ウェブサーバー
+
*WordPress のホームディレクトリで、
+
**[http://httpd.apache.org/docs/1.3/mod/core.html#options FollowSymLinks] オプションが有効にななっている。
+
**[http://httpd.apache.org/docs/1.3/mod/core.html#allowoverride FileInfo directives] が許可されている (例 <code>AllowOverride FileInfo</code> あるいは <code>AllowOverride All</code>)。
+
**<code>.htaccess</code> ファイルが存在する (存在しない場合は、"pretty" パーマリンクを有効にしたときに、WordPress は <code>.htaccess</code> ファイル作成を試みます)。
+
**<code>.htaccess</code> ファイルを自動的に更新するには、WordPress が書き込み権限を持っている必要があります。
+
*lighttpdについては、[[パーマリンクの使い方#外部資料|外部資料]] を参照してください。
+
* Mac Users running WordPress locally must edit their httpd.conf file editing the AllowOverride line to read <em>AllowOverride All</em> in the <em>Directory "/Library/WebServer/Documents"</em> host instructions. For Mac OS X 10.5.x and up this file is located in <tt>/private/etc/apache2/users/[your-username].conf</tt>, otherwise it is located at <tt>/etc/httpd/httpd.conf</tt>. <!-- マックの利用者の方確認してください。-->
+
 
+
"pretty" パーマリンク構造を作成する (更新する) とき、WordPress は書き換え規則を生成し、適切な <code>.htaccess</code> ファイルに挿入します。挿入できなかった場合、「<code>.htaccess</code> を更新する必要があります」のようなメッセージが表示され、ファイルにコピー&ペーストする (ファイルの最後に付け足す) 書き換え規則が表示されます。
+
 
+
WordPress 2.0以降では、WordPress が内部で書き換え作業を行うので、この作業は一度行うだけで済みます。WordPress のホームディレクトリ (ブログのアドレス) を移動させるときは、この作業を再度行う必要があるでしょう。
+
 
+
WordPress は既存の <code>.htaccess</code> と共存できます。既存の書き換え規則や他の指示を削除しません。他に <code>mod_rewrite</code> 規則がある場合は、WordPress の規則よりも前に記述してください。
+
 
+
<div id="Where.27s_my_.htaccess_file.3F">
+
=== <code>.htaccess</code> ファイルはどこ? ===
+
</div>
+
 
+
WordPress の <code>index.php</code> と <code>.htaccess</code> ファイルは一般設定のブログのアドレス  (URI) 設定で指示されたディレクトリに置く必要があります。ファイル名がドットで始まるため、FTPクライアントソフトウェアでは、隠しファイルを含む全ファイルを表示するように設定していないと、ファイルが見えないかもしれません。 一部のホスティングサービス (例:GoDaddy) では、GoDaddy ホスティング接続インストールを利用して WordPress をインストールした場合、<code>.htaccess</code> が表示されず、編集することもできません。
+
 
+
<div id="Creating_and_editing_.28.htaccess.29">
+
=== <code>.htaccess</code>の作成と編集 ===
+
</div>
+
 
+
<code>.htaccess</code> ファイルが存在しない場合は、新規作成してください。サーバーにシェルあるいは ssh アクセスできる場合は、<code>touch .htaccess</code> コマンドで作成することができます。FTP を用いてファイル転送する場合は、ローカルコンピュータ上で <code>1.htaccess</code> のような名前でファイルを作成し、WordPress ディレクトリのルートにアップロードし、<code>.htaccess</code> にリネームしてください。
+
 
+
<code>.htaccess</code> ファイルは、FTP、シェル、あるいは (設定されていれば) ホスティングサービスの管理パネルから編集することができます。
+
 
+
.htaccess ファイルに、以下のリライトコードが記入されるはずです。
+
 
+
<pre># BEGIN WordPress
+
<IfModule mod_rewrite.c>
+
RewriteEngine On
+
RewriteBase /
+
RewriteCond %{REQUEST_FILENAME} !-f
+
RewriteCond %{REQUEST_FILENAME} !-d
+
RewriteRule . /index.php [L]
+
</IfModule>
+
# END WordPress</pre>
+
 
+
<code>.htaccess</code> ファイルに ("Internal Server Error (500)") をもたらすエラーが含まれている場合は、FTP またはホスティングサービスの管理パネル を使用して欠陥のある <code>.htaccess</code> ファイルを削除する必要があります。
+
 
+
<div id="Automatically_updating_.htaccess">
+
=== <code>.htaccess</code>の自動更新 ===
+
</div>
+
 
+
WordPress が <code>.htaccess</code> ファイルを自動更新できないときは、設定 &rarr; パーマリンク画面の下部に「あなたの <code>.htaccess</code> が書き込み可能ならこの操作は自動的に行われますが、そうでない場合は…」というメッセージが表示されます。
+
 
+
WordPress に自動更新させたい場合は、[[ファイルパーミッションの変更]] が必要になります。おつかいのサーバーの設定によって、適切なパーミッションが異なります。まずは所有者に書き込み権限を与えて試してください。駄目なら次はグループ、その次は全ユーザーに書き込み権限を与えて試してください。WordPress がファイル編集できるようになったら、書き込み権限をそれ以上付与しないでください。
+
 
+
パーマリンクを適用した後は、他者が <code>.htaccess</code> にアクセスするのを防ぐために、660 あるいは 644 のような制限の厳しいパーミッションに変更してください。
+
 
+
<div id="Using_Permalinks_Without_mod_rewrite">
+
== mod_rewrite なしでのパーマリンクの設定 ==
+
</div>
+
 
+
"Pretty" パーマリンクには、通常は <code>[[用語集#mod_rewrite|mod_rewrite]]</code> が必要です。(Windows サーバーでよく使われている) IIS は、<code>mod_rewrite</code> をサポートしていません (Windows 上で <code>Apache 2.0.54</code> を使用している場合は、<code>apache\conf\httpd.conf</code> で有効にすることにより、<code>mod_rewrite</code> が動作するかもしれません) 。
+
 
+
<!-- 11 February 2009 -->IIS 7 を使用していて、サーバーの管理者権限をもっている場合は、マイクロソフト社の [http://learn.iis.net/page.aspx/460/using-url-rewrite-module/ URL Rewrite Module] で代替可能です。<tt>mod_rewrite</tt> と全く同じとはいきませんが、WordPress の pretty パーマリンクをサポートしています。インストールしたら WordPress フォルダの <tt>web.config</tt> ファイルを開き、次のルールを <tt>system.webServer</tt> に追加してください。
+
 
+
<pre>
+
<rewrite>
+
    <rules>
+
        <rule name="Main Rule" stopProcessing="true">
+
            <match url=".*" />
+
            <conditions logicalGrouping="MatchAll">
+
                <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
+
                <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
+
            </conditions>
+
            <action type="Rewrite" url="index.php/{R:0}" />
+
        </rule>
+
    </rules>
+
</rewrite>
+
</pre>
+
IIS のウェブサイトに [http://learn.iis.net/page.aspx/466/enabling-pretty-permalinks-in-wordpress/ インストールガイド] が掲載されています。このモジュールは、[http://www.iis.net/downloads/1692/ItemPermaLink.ashx x64] および [http://www.iis.net/downloads/1691/ItemPermaLink.ashx x86] システムで利用可能です。<!-- 11 February 2009 -->
+
この方法が使えない場合は、<code>PATHINFO</code> パーマリンクを試してみてはいかがでしょう。パーマリンク構造の最初に、<code>index.php/</code> と記述してください。
+
<pre>
+
/index.php/%year%/%monthnum%/%day%/%postname%/
+
</pre>
+
この方法は、常に上手くいくとは限りません。特に IIS 6 上で WordPress を実行している場合はそうです。IIS 上でこの方法を用いるには、<code>php.ini</code> ファイルに次の2行を追加して、webroot に置いてください。
+
 
+
<pre>
+
cgi.fix_pathinfo = 1
+
cgi.force_redirect = 0
+
</pre>
+
 
+
その他にも、IIS のカスタム 404 リダイレクトを使用する方法があります。この方法は、カスタム 404 リダイレクトを追加する権限が必要ですが、サードパーティ製の <code>mod_rewrite</code> をインストールする必要がありませんし、パーマリンク構造を <code>/index.php/</code> で始める必要もありません。
+
 
+
<div id="Fixing_Permalink_Problems">
+
== パーマリンクについての問題点と対処法 ==
+
</div>
+
 
+
<div id="Fixing_.htaccess_Generation_Issues">
+
=== <code>.htaccess</code> 生成時の問題 ===
+
</div>
+
 
+
WordPress のインストール時に<code>.htaccess</code> ファイルが生成されない場合や、既存の <code>.htaccess</code> ファイルに新しい規則が追加されない場合は、いろいろな原因が考えられます。以下の手順を1つずつ実行してください。もし問題が解決しない場合は次のステップに進んでください。
+
 
+
#'''ファイルパーミッションの変更。''' WordPress [[Editing_Files|ビルトインエディタ]]/[[:en:Editing_Files#Using_the_Built-in_Editor|en]] で <code>.htaccess</code> ファイルを編集するには、<code>.htaccess</code> のパーミッションを 666 に変更する必要があります。しかしこの方法はお薦めできません。あなたのブログのユーザーで、テンプレート編集権限を持つユーザーなら誰でも <code>.htaccess</code> を編集できてしまうからです。パーミッションをサーバーが書き込み可能な 660 に変更することもできますが、同様の制限があります。
+
#'''サーバーブロック。''' ホスティングサービスによって <code>SERVER_SOFTWARE</code> 変数がブロックされているため、WordPress が <code>.htaccess</code> を生成できていない可能性があります。サーバー上で Apache が実行されていることが確かであれば、<code>wp-includes/vars.php</code> ファイルを変更することで、Apache が実行されていると WordPress に思い込ませることができます。これらの変更を実装するには、以下の手順を行ってください。
+
#*WordPress 管理パネルのビルトイン・エディタを使用して <code>wp-includes/vars.php</code> を開く。WordPress にログインし、「管理」をクリックし、「ファイル」をクリックし、画面を下までスクロールし、「その他のファイル」テキストボックスで <code>wp-includes/vars.php</code> と入力してください。<pre>$is_apache = strstr($_SERVER['SERVER_SOFTWARE'], 'Apache') ? 1 : 0;</pre>という部分を探して、<pre>// $is_apache = strstr($_SERVER['SERVER_SOFTWARE'], 'Apache') ? 1 : 0;</pre>に置き換えてください。
+
#*次の部分の下に一行追加し、<pre>// $is_apache = strstr($_SERVER['SERVER_SOFTWARE'], 'Apache') ? 1 : 0;</pre>次のように入力してください。<pre>$is_apache = 1;</pre>
+
#'''XAMPP (Windows) を利用する場合。'''[http://www.apachefriends.org/en/xampp.html XAMPP] のバージョンによっては、デフォルトでは <code>mod_rewrite</code> が有効になっていません (コンパイルはされています)。<code>mod_rewrite</code> を有効にし、さらに WordPress が pretty パーマリンク作成するのに必要な規則を <code>.htaccess</code> に書き込みできるようにするために、<code>apache/conf/httpd.conf</code> を開き、<code>LoadModule rewrite_module modules/mod_rewrite.so</code> の行のコメントを外す (行頭の「#」を消す) 必要があります。
+
 
+
<div id="Permalinks.2C_.htaccess.2C_and_MS_Frontpage">
+
== パーマリンク&.htaccess と Microsoft FrontPage ==
+
</div>
+
 
+
Microsoft FrontPage についてのメモ。いろいろなホスティング会社で構築され管理されている (共有および専用) サーバーの多くは、Apache ビルドと共に <code>mod_frontpage</code> がコンパイルされています。そして多くの場合、各々の仮想サーバー上に FrontPage 拡張機能がインストールされています。最近では、ほとんどのホスティング会社がサーバービルドプロセスで使用する多く/ほとんどのバイナリーディストリビューションに、<code>mod_frontpage</code> と FrontPage 拡張機能の両方が含まれています。たとえあなたが FrontPage を使用していないとしても、エクステンションが Apache と (そして <code>httpd.conf</code> とも) 相互作用するため、WordPress インストール時に、(管理パネルは正しく動作しているが)500 エラーや、真っ白なページになってしまうのは、単にサーバー上に <code>extensions/mod_frontpage</code> が存在するからです。
+
 
+
WordPress は、FrontPage 拡張機能がインストールされていても利用できます。しかし、パーマリンクは機能せず、管理画面からパーマリンクに'''少しでも'''変更を加えると、<code>.htaccess</code> ファイルに <code>mod_rewrite</code> を追加したために、FrontPage 拡張機能と衝突します。''しかし、この問題には解決法があります。''
+
 
+
<div id="Quick_Fixes.2C_Frontpage_or_Permalinks">
+
==== FrontPage またはパーマリンクの応急処置 ====
+
</div>
+
 
+
'''FrontPage の応急処置:''' パーマリンクは気にせず、MS FrontPage 拡張機能が動作するようにしたい場合は、<code>.htaccess</code> ファイルを編集して、書き換え規則の WordPress の部分を削除します。
+
 
+
'''パーマリンクを使うには:''' (ホスティング会社が FrontPage 拡張機能をインストールしているが) 自分では必要ない場合。
+
 
+
自分またはホスティング会社が MS FrontPage 拡張機能を削除するか、<code>.htaccess</code> ファイルからフロントページに関する行を全て取り除き、WordPress の <code>mod_rewrite</code> だけを残す必要があります。
+
 
+
<div id="Using_Frontpage_AND_Permalinks_Together">
+
==== FrontPage とパーマリンクを共存させるには ====
+
</div>
+
 
+
'''最終的な解決策。'''
+
 
+
この件について、サポートフォーラムにいくつかのスレッドがあり、今まで解決していませんでした。
+
 
+
通常、MS FrontPage 拡張機能がインストールされた Unix サーバーでは、WordPress は正常に動作し、([http://www.microsoft.com/frontpage/ FrontPage] で) ページを編集し公開することができます。パーマリンクに変更を加えさえしなければ (例えば 2005/04/etc 等のように日付ベースにする等)。私はパーマリンクについて質問した人たちに、この種の URI 形式を勧めています。というのも、w3c が推奨している方法だからです ([http://www.w3.org/Provider/Style/URI http://www.w3.org/Provider/Style/URI]を参照)。
+
 
+
問題は、FrontPage が <code>.htaccess</code> ファイルを使用して投稿およびウェブオーサリング設定を行うことです (WordPress の <tt>mode_rewrite</tt> 規則もこのファイルにアクセスする必要があります)。WordPress の <tt>mode_rewrite</tt> 規則が追加されると、以下の2つの事態が発生します。パーマリンクが動作しない、FrontPage 拡張機能が落ちる。
+
 
+
私はこの問題について何度となく試しました。FrontPage が使用する <code>%{HTTP_USERAGENT)%</code> を無視すするように書き換え規則を用いる、<code>httpd.conf</code> ファイルで2つ目のアクセスファイル <code>.wpaccess</code> を使用する、等々です。FrontPage の使用と、WordPress のパーマリンクの使用の両方を満たすものはありませんでした。
+
 
+
解決策は実は簡単なものでした。私は偶然発見しました。
+
 
+
FrontPage を使用しているか使用したい場合 (あるいはホスティングパッケージでそのように設定されている場合)、WordPress と共存するには、自分またはホスティング会社が以下の手順を実行する必要があります。
+
 
+
MS FrontPage が次のディレクトリを作成する。
+
<pre>_vti_bin</pre>
+
 
+
そのディレクトリの下に <pre>_vti_adm</pre> と <pre>_vti_aut</pre> とを作成する
+
 
+
サイト (あるいは WordPress) のルートディレクトリだけでなく、これら全てのディレクトリに、<code>.htaccess</code> ファイルを追加する。
+
 
+
これら3つのディレクトリとルートディレクトリの <code>.htaccess</code> ファイルの先頭に次の1行を追加する。
+
<pre>
+
Options +FollowSymlinks
+
</pre>
+
既に次のように記述されていることがあります。
+
<pre>Options None</pre>
+
各 <code>.htaccess</code> ファイルを編集して保存すれば完了です。FrontPage、選んだパーマリンク、全てが動作します。
+
 
+
<div id="Long_Permalinks">
+
=== 長いパーマリンク ===
+
</div>
+
 
+
メール、コメント投稿やチャット等で、長いパーマリンクを使うと、途中で切断されたり、最初のセクションだけがリンクと認識されて残りの部分がテキストと認識されたりします。例えば、
+
 
+
<div style="margin: 5px; padding:5px">
+
<code style="font-weight:bold; color:#036; text-decoration:underline; font-size:0.9em">http:&#8260;&#8260;yourdomain.example.com/2005/10/4/article-about-joe-fred-sally-and-bog</code></div>
+
 
+
が下のようになります。
+
 
+
<div style="margin:5px; padding 5px"><code> <span style="font-weight:bold; color:#036; text-decoration:underline; font-size:0.9em">http:&#8260;&#8260;yourdomain.example.com/2005/10/4/article</span>-about-joe-fred-sally-and-bog</code>
+
</div>
+
 
+
この例の下側のリンクをクリックすると、「404 ページが見つかりません」エラーが発生するでしょう。長いパーマリンク投稿タイトルを使いたい場合は、この問題を避けるために以下の手順を実行してください。
+
 
+
# [[パーマリンクの使い方]]を使用していることを確認する。
+
# <code>.htaccess</code> ファイルを編集して、以下を追加する。<pre style="font-size: 0.7em"> RewriteRule ^post/([0-9]+)?/?([0-9]+)?/?$ /index.php?p=$1&page=$2 [QSA]</pre>
+
# 試してみる。投稿 ID を調べて、ブラウザで以下のように記述する (ID の部分はあなたの環境に合わせる) と、リダイレクトされるはずです。<pre>http://yourdomain.example.com/post/(the ID #)</pre>
+
 
+
ほとんどのメール閲覧ソフトは、山括弧 (&lt; と &gt;) で囲まれた URL を切断しません。メールに URL を貼り付ける場合は、以下のように書くと良いでしょう。
+
 
+
私のブログ投稿 <code>&lt;<span style="font-weight:bold; color:#036; text-decoration:underline; font-size:0.9em">http:&#8260;&#8260;yourdomain.example.com/2005/10/4/article-about-joe-fred-sally-and-bog</span>&gt;</code> をごらんください。
+
 
+
さらに、メールクライアントによっては、テキスト形式メールを作成するときに「プリフォーマット」オプションが用意されています。リンクを貼り付けるときに「プリフォーマット」オプションを使用すると、リンクの間に改行を含まないようにすることができます。
+
 
+
<div id="Fixing_Other_Issues">
+
=== その他の問題点 ===
+
</div>
+
 
+
<code>.htaccess</code> ファイルが正しく生成されているにも関わらずパーマリンクが動作しない場合は、以下のような問題が発生しているかもしれません。問題が解決しない場合は、 [http://wordpress.org/support WordPress Forum] の "How To"  (日本語フォーラムは [http://ja.forums.wordpress.org/forum/1 WordPress フォーラムの「使い方全般」])に投稿してください。
+
 
+
;AllowOverride が無効
+
あなたのサーバーでは、AllowOverride ディレクティブが有効になっていないかもしれません。Apache の <code>httpd.config</code> ファイルで AllowOverride ディレクティブが <code>None</code> に設定されている場合は、<code>.htaccecc</code> ファイルは全く無視されます。この場合、サーバーは <code>.htaccecc</code> ファイルを読むことすらしません。このディレクティブが <code>All</code> に設定されている場合は、全ての <code>.htaccecc</code> コンテキストが許可されます。<code>httpd.config</code> ファイルで AllowOverride ディレクティブが有効になっている例を示します。
+
 
+
<pre>
+
<Directory />
+
    Options FollowSymLinks
+
    AllowOverride All
+
</Directory>
+
</pre>
+
 
+
ルートディレクトリでも、AllowOverride を有効にする必要があるかもしれません。
+
 
+
<pre>
+
<Directory /var/www/html>
+
    # ... other directives...
+
    AllowOverride All
+
</Directory>
+
</pre>
+
 
+
サイトの AllowOverride 設定も変更する必要があるかもしれません。Mac OS X サーバーの場合は必ず行う必要がりますが、他のシステムでも同様にする必要があるかもしれません。サイト設定ファイルは、通常 <code>/etc/httpd/sites/</code> ディレクトリ内にあります。
+
 
+
(上の例では all に設定していますが) AllowOverride を all に設定したくない場合は、AllowOverride のリストに、FileInfo ディレクトリを含める必要があります。<code>httpd.config</code> の設定を変更後、それらを有効にするには、Apache サーバーを再起動する必要があります。どのような上書きが許可されるかについては、[http://httpd.apache.org/docs/2.0/mod/core.html#allowoverride Apacheコア機能]を参照してください。
+
 
+
;ページナビゲーションが動かない。
+
投稿の2ページ目やそれ以降へのナビゲーションが期待通りに動作しないことがあるかもしれません。例えば、投稿へのリンクに以下のいずれかの URI を生成しているとします。
+
 
+
<pre> http://www.example.com/page/2/
+
http://www.example.name/category/categoryname/page/2/
+
http://www.example/year/month/day/page/2/
+
http://www.example/year/month/page/2/
+
</pre>
+
 
+
これらのリンクをクリックすると、ページが読み込まれ、投稿以外のもの (ヘッダー、フッター、サイドバー) しか表示されず、「該当する投稿は見つかりませんでした」というエラーメッセージが出てくることがあります。
+
 
+
これは、WordPress が生成する <code>.htaccess</code> が存在しないからです。これを修正するには <code>.htaccess</code> を削除して、再度作成します。
+
 
+
<ol>
+
<li>管理パネルで、「管理」「ファイル」と進む。([[Editing_Files|ファイルの編集]]/[[:en:Editing_Files|en]])</li>
+
<li><code>.htaccess</code> ファイルへのリンクをクリックして、編集する。</li>
+
<li>テキストエディタで、ファイルの内容をコピーして貼り付ける。これは、<code>.htaccess</code>ファイルにリダイレクトやアクセス拒否等が手動で書き込まれている場合に備えておくためです。[http://www.javascriptkit.com/howto/htaccess.shtml 便利な .htaccess トリック]</li>
+
<li><code>.htaccess</code> ファイルの全ての内容を削除し、「ファイル更新」ボタンをクリックする。</li>
+
<li>管理パネルで、「オプション」「パーマリンク」と進む。</li>
+
<li>「パーマリンク構造の更新」ボタンをクリックして、新たに書き換え規則を生成する。.</li>
+
<li>以前は動作しなかったリンクを用いて試してみる。</li>
+
<li>あなたの <code>.htaccess</code> ファイルに記載されていたエントリを書き込む (<code># BEGIN WordPress</code> の前か、<code># END WordPress</code> の後に追加してください)。</li>
+
</ol>
+
 
+
<code>.htaccess</code> ファイルをサーバーから削除し、新たに <code>.htaccess</code> ファイルを作成し、パーミッションを 666 に変更し、「オプション」「パーマリンク」で「パーマリンク構造の更新」ボタンをクリックして新しい <code>.htaccess</code> 規則を生成することも可能です。
+
 
+
これでも上手くいかない場合は、WordPress サポートフォーラムの[http://wordpress.org/support/topic/51613#post-283222 この投稿] (英語) を参照してください。
+
 
+
; 固定ページへのパーマリンクが効かない。
+
新しく作成した[[Pages|固定ページ]]へ移動するときにエラーが発生する場合は、[[Settings_Permalinks_SubPanel|パーマリンク設定]]を再度行う必要があるでしょう。WordPress で新たに固定ページを追加するたびに新しく書き換え規則を作成し、<code>.htaccess</code> (WordPress 1.X) か、内部書き換え配列 (WordPress 2.X) を更新する必要があります。
+
 
+
;Ultimate Tag Warrior のタグページへのパーマリンクが効かない。
+
WordPress 2.X で UltimateTagWarrior プラグインを使用していてローカルタグ URL で 404 エラーが発生する場合は、WordPress の生成する内部書き換え規則がでしゃばり過ぎて UTW の書き換え規則よりも先に呼び出されるからです。この現象は通常、(<code>/%postname%/</code> のような) カスタムパーマリンク構造を使用している時にのみ起こります。これを修正するには、[[Settings_Permalinks_SubPanel|パーマリンク設定]]を「日付と投稿名」にするか、UTW プラグインを改造して内部書き換え配列で UTW 書き換え規則を最初に配置するかします。
+
 
+
;パーマリンクは動くがページが存在しないと表示される。
+
PHP 4.4.x および 5.x のバージョンの一部には、Apache 2.X の一部のバージョン上で使用すると <code>mod_rewrite</code> が落ちるバグがあります。 詳細は [http://bugs.php.net/bug.php?id=35096 Bug #35059 Problems with PHP 4.4.1 and mod_rewrite] および [http://bugs.php.net/bug.php?id=35059 Bug #35096 using mod_rewrite with apache2 crashes] を参照してください。
+
 
+
<div id="More_Help">
+
=== その他のヘルプ ===
+
</div>
+
 
+
これらの手順でうまくいかない場合は、[http://wpdocs.sourceforge.jp/ Codex日本語版]、[[FAQ/トラブルシューティング]]、あるいは[http://ja.forums.wordpress.org/ サポートフォーラム]で検索してください。 最後の手段として、[[バグの報告]]を行ってください。
+
 
+
<div id="Tips_and_Tricks">
+
== ヒントと小技 ==
+
</div>
+
 
+
<div id="Having_your_posts_end_in_.html">
+
=== <del>投稿の末尾に <code>.html</code> を付けるには</del> ===
+
</div>
+
 
+
<del>投稿の末尾に <code>.html</code> 拡張子を付ける簡単な方法は、上で解説した構造タグを使用することです。適切な末尾を持つパーマリンクの例に従えば、次のルールで、http://example.com/2006/01/01/happy-newyear.html のような表記が得られます。</del>
+
<pre> /%year%/%monthnum%/%day%/%postname%.html
+
</pre>
+
 
+
<del>これによって、静的な <code>.html</code> ファイルが生成されるわけではありません。<code>.html</code> 拡張子を付け足すだけであり、動的生成されることには変わりありません。こうすることの SEO 効果については議論されていますが、WordPress から移行しなければならないときには、URL 構造を保持したまま静的ファイルにできるので便利でしょう。</del>
+
 
+
<del>WordPress 2.3 以前では[[Version_2.3#.E5.84.AA.E3.82.8C.E3.81.9F_URL|カノニカル URL]] 機能が無かったので、<code>.html</code> を加えることは (URL を強制的に標準化することになり) 非常に有益でした。現在では SEO 効果があるとしても限られたものでしょう (詳細は外部資料を参照してください)。</del> (訳注:原典では削除されている。フォーラムも参考に http://ja.forums.wordpress.org/topic/3128 --[[利用者:Mizuno|Mizuno]] 2010年8月2日 (月) 09:39 (UTC))
+
 
+
<!-- 11 February 2009 -->
+
<div id="Avoiding_interpretation_as_an_archive_link">
+
===アーカイブリンクとして解釈されるのを避ける===
+
</div>
+
 
+
一日に一投稿しか公開しないので <code>%year%%monthnum%%day%</code> というパーマリンクを使用したいと思うかもしれませんが、このリンクはその日の全投稿のアーカイブとして生成されることに注意してください。個別投稿へのリンクは、少なくとも <code>%year%%monthnum%%day%%hour%</code> にする必要があります。
+
 
+
<div id="Check_for_permalink_structure">
+
=== パーマリンク構造をチェックする ===
+
</div>
+
ブログにパーマリンク構造があるかどうかチェックするには、以下のコードを使用します。
+
 
+
<pre>if ( get_option('permalink_structure') != '' ) { echo 'permalinks enabled' }</pre>
+
 
+
<div id="See_Also">
+
 
+
== 参考 ==
+
* 他の投稿へリンクする方法は[[Linking Posts Pages and Categories|投稿・ページ・カテゴリーへリンクする]]/ [[:en:Linking Posts Pages and Categories|en]] の記事を参照してください。
+
*[http://www.nkuttler.de/2010/06/06/wpmu-lighttpd-rewrite-rules/ Lighttpd rewrite rules for WordPress 3.0 networks]
+
</div>
+
<!-- 11 February 2009 -->
+
 
+
<div id="External_Resources">
+
 
+
== 外部資料 ==
+
</div>
+
* [http://www.kanzaki.com/docs/Style/URI クールなURIは変わらない]
+
 
+
{{原文|Using Permalinks|94366}}<!-- 02:57, 4 November 2010 Benknight 版 -->
+
 
+
{{DEFAULTSORT:はあまりんくのつかいかた}}
+
[[Category:初心者向けトピック]]
+
[[Category:設置]]
+
[[Category:トラブルシューティング]]
+
[[Category:UI Link]]
+
 
+
[[en:Using Permalinks]]
+
[[es:Using Permalinks]]
+
[[it:UsingPermalink]]
+

2019年11月9日 (土) 23:15時点における最新版

このページは https://ja.wordpress.org/support/article/using-permalinks/ へ移動しました。