web-dev-qa-db-ja.com

単純な書き換え規則の助けが必要です(これは簡単ではないはずですか?)

必要なのは、example.com/anyphraseexample.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ページではありません)。

1
user568428

これがあなたにとってまだ問題であるかどうかわからないが、もしそうなら私はいくつかの問題に気づいた。まず最初に、あなたのドメインは大文字と小文字を区別しないように設定されていません[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]

乾杯〜

1
Matthew Boynes