1

次のようにフォーマットされた単一のWordpressURLwww.bluewidgets.com/?p=123を別のドメインのクリーンURLにリダイレクトする必要があります。どうすればこれを行うことができ.htaccessますか?私が見たすべてのチュートリアルではindex.php、クエリ文字列の前に、などのURLの別の部分を指定する必要があると述べていますが、URLにはそれがありません。ドメインとクエリ文字列だけです。

4

4 に答える 4

1

何よりもまず、header.phpに追加することはできません。

<?php
if ($_GET['p'] == '123') {
    header('Location:http://www.yourotherdomain.com');
exit;
}
?>

私は過去に似たようなことをしました。きれいではないかもしれませんが、うまくいきます-それが正当な戦術であるかどうか、より経験豊富なPHP担当者から聞いてみたいと思います。

于 2009-11-30T20:04:47.587 に答える
1

このルールを試してください:

RewriteCond %{QUERY_STRING} =p=123
RewriteRule ^$ /foo/bar? [L,R=301]

またはREQUEST_URIを使用します:

RewriteCond %{REQUEST_URI} =/?p=123
RewriteRule ^$ /foo/bar? [L,R=301]

パターンは、正規表現テストではなく、辞書式比較を識別するaでRewriteCond始まることに注意してください。さらに、最初に要求されたクエリを削除する、代わり=の空のクエリ(で示されます)。…?

于 2009-12-02T09:39:45.707 に答える
0

WordPressにはすでにURLのきれい化が組み込まれていませんか?好奇心から、なぜこれを行う必要があるのでしょうか。

それとは別に、はい、あなたが言及しているのは、htaccessを介してそれを行う方法です。この方法で問題が発生していますか?

于 2009-11-30T12:21:06.570 に答える
0

標準の301リダイレクトは、次の形式になっています(domain1になります)。

Redirect 301 /filename.php http://domain2.com/filename.php

しかし、デフォルトのパーマリンクでそれを試したところ、機能しませんでした。

domain1では、標準のwordpress rewriteブロックを使用してURLを書き換え、すぐにtpdomain2にリダイレクトできます。散らかっていますが、うまくいくかもしれません。

于 2009-11-30T14:59:52.097 に答える