Wordpressのはindex.php
にファイルやディレクトリとして解決しない、すべてを書き換えることにより、それをしない、それは次のようになります。
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
そしてindex.phpを要求されたURIを読み取り、と何をするかを割り出しそれ。同時に、wordpressはこれらのURLが書き換えられることを知っているので、http://example.com/pagename/
のようなきれいなSEOフレンドリなURLを持つページをレンダリングします。ご例えば
は、自身mod_rewriteはあなたが個々RewriteRulesの束をハードコーディングしない限り、
ID = 3が
ページ名に相当していることを知ることができるようになるだろうされていません。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ /index.php?page=$1 [L]
今それはあなたのコンテンツにきれいなSEOフレンドリーなURLを生成する次第です:あなたはそれがページ名を受け入れるindex.phpを作る何ができるので、あなたのルールは次のようになります。コンテンツマネジメントシステムでは、ページ自体は通常、ある種類のIDでデータベースに格納されます。 2011年10月10日に作成されたID「5」のページ「テストページ」を作成します。CMSがリンクを生成する必要がある場合、データベースを検索し、リンクを/2011/10/Test_Page
として作成します。
トップページに行くと、index.phpはすべてのページへのリンクを生成し、 "テストページ"のリンクには/2011/10/Test_Page
と表示され、誰かがそのリンクをクリックすると、 RewriteRule ^([0-9]+)/([0-9]+)/(.+)$ /index.php?year=$1&month=$2&title=$3 [L]
を入力してURLを/index.php?year=2011&month=10&title=Test_Page
に書き換えます。 index.phpスクリプトはデータベース内で正しいページを探し、それをブラウザに返します。これは、CMSごとに異なる予定です。本質的に、.htaccessはあなたのデータベースに格納されているものを知りませんが、必要な情報( "id"や "page"など)がスクリプトに渡されるようにリンクを書き換えることができます。 とを返すページを決定して、そのページでクリーンなSEOフレンドリなリンクを生成することは、スクリプトに任されています。
さて、私はWPルートに行き、すべてを 'index.php'に書き直すことにしました。私はまだ、URLを何かクリーナーに書き換えることができるかどうかはまだ分かりません。私はWordpressの 'rewrite.php'ファイルを見て、どのようにしているのか見てみましたが、複雑なCMS内の2000行のファイルに隠れていると難しい概念を理解するのは容易ではありません。 –
私の編集を参照してください。それはまったくあなたにきれいなSEOフレンドリーなリンクを生成する方法です。これは.htaccessやApacheの一部ではありません。 –