web-dev-qa-db-ja.com

Wordpressのパラメータによる特定のURLの書き換え

私はもともとDrupalにあった、そして非常に特定のURLを持っているウェブサイトを書き換えています。だから、私はすべてのオリジナルのURLを自分の書いたプラグイン用のwordpressシステムへのパラメータに書き換える必要があります。

私はこれから得る必要があります:

http://www.domain.com/param1/param2/param3/param4/param5/detail

これに:

http://www.domain.com/index.php/detail/?param=param5

Urlの最後の部分が= "detailSOMETHING"の場合

私はこれを試しました(そしてそれの多くのバリエーション):

RewriteRule ^/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([detail_]+.*)/?  \
  /wp1/index.php/detail/?gref=$5    [PT]

.htaccessの中のWordpressのコードの前に置かれていますが、私が得るのは私のWordpressの404ページだけです。

任意の助けは大歓迎です!!!!!

編集:

フル.htaccessが追加されました:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wp1/
RewriteRule ^/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([detail_]+.*)/?  \
/index.php/detail/?gref=$5    [PT]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp1/index.php [L]
</IfModule>
# END WordPress
2
Borniet

コメント内の情報に基づいて、ここに私の予備的な答えがあります。うまくいけば問題をデバッグするのではなく、問題をデバッグするのに役立ちます - OPのせいではありません。

書き換え規則は明らかに何かをWPに渡していますが、WPはそれに満足していません。

テーマの404.phpに、呼び出されたURLと、WPが解析に失敗したURLを表示できるデバッグコードを追加します。それは少なくともあなたがあなたの書換え規則があなたが期待したことをしているかどうかをあなたに見せるでしょう。

しかし、他に2つのポイントがあります。

1 - あなた自身のhtaccessコードをWPのBEGINとENDの外側に移動しないと、あなたのサイトがその書き換えのハードセーブを実行すると、あなたの変更は上書きされます。

2 - htaccessで書き換えるのではなく、WP内の古いURL構造の書き換え規則をプラグインとしてコーディングすることをお勧めします。

1