必要なのは、example.com/anyphrase
をexample.com
に変更する書き換えだけです。
これが私が使っているものです:
RewriteCond %{HTTP_Host} ^example\.com
RewriteCond %{SCRIPT_FILENAME} !wp-admin
RewriteCond %{SCRIPT_FILENAME} !activity
RewriteCond %{SCRIPT_FILENAME} !members
RewriteCond %{SCRIPT_FILENAME} !groups
RewriteRule ^([A-Za-z0-9-]+)/?$ index.php [L]
ノート:
(WP root内の).htaccess
ファイルの先頭に上記を追加しました。私はWordPress 3.1.3マルチサイト(サブドメイン)、WP MU Domain Mappingプラグイン、およびbuddypressをexample.com
上で実行しています。マッピングされたドメイン名はexample.com
であり、実際のサブドメインではありません。
私の書き換えルールではexample.com/index.php
がロードされ、それによってWordPressサイトのホームページがロードされると想定していました。しかし、私は私のbuddypressスキンに表示された "ページが見つかりません"という応答を受け取ります(本格的なエラー404ページではありません)。
これがあなたにとってまだ問題であるかどうかわからないが、もしそうなら私はいくつかの問題に気づいた。まず最初に、あなたのドメインは大文字と小文字を区別しないように設定されていません[NC]。次に、RewriteRule正規表現にはダッシュで終わる文字クラスがあります。これはダッシュで始める必要があります。 3番目に、あなたのルールはindex.phpにリクエストを送信します。つまり、index.phpはリクエストを処理する方法を知る必要があります。リダイレクトしたい場合は違います。これに旋風を与えて、私はあなたがどうやってわかるか教えてください:
RewriteCond %{HTTP_Host} ^domainXYZ\.com [NC]
RewriteCond %{REQUEST_FILENAME} !wp-admin
RewriteCond %{REQUEST_FILENAME} !activity
RewriteCond %{REQUEST_FILENAME} !members
RewriteCond %{REQUEST_FILENAME} !groups
RewriteRule ^([^/]+)/?$ http://domainXYZ\.com [L,R=301]
乾杯〜