1

近日中にサイトをリニューアルする予定です。再起動の一部は、Joomla からの切り替えです! ワードプレスへ。

正確な表現でリダイレクトされるいくつかの古いページに加えて、新しいルートページにリダイレクトされるページがたくさんあります。

次のようなURLをリダイレクトしたい場合、正しい正規表現は何ですか:

http://www.somedomain.com/index.php?somevar=123&com_option=somevalue
http://www.somedomain.com/index.php?com_option=someothervalue

すべての URL には共通点があります。

http://www.somedomain.com/index.php?
+
com_option

.htaccess の 1 行のリダイレクト コードでこれらすべてのページをリダイレクトするにはどうすればよいですか?

4

3 に答える 3

1

somevar は必要なく、com_option だけを持ち越したいと思います

RewriteEngine on
RewriteBase /
RewriteRule index.php(.*)com_option=(.*)$ http://newsite.com/index.php?com_option=$2 [L,R=301]
于 2013-01-23T14:43:00.437 に答える
0

サイトが公開された今、私の質問に対する答えはどれもうまくいかなかったことがわかりました.

いくつかの試行錯誤の後、私は解決策を見つけました:

現在、Google はライブ デモを提供しています。


1) Google にアクセスし、「site:sqlxpert.de」を検索します。

2) URL に「オプション」を含むリンクの 1 つをクリックします。

3) 新しいページのルートにリダイレクトされます。この場合、同じドメインで index.php でもありますが、d*** QUERY_STRING は削除されています。


次のことを行う .htaccess スニペットが必要でした (言葉で表現します):

If requested file is 
   INDEX.PHP or INDEX2.PHP 
AND 
   QUERY STRING contains "option"
then 301 REDIRECT to 
   http://www.sqlxpert.de/ 
WITHOUT any QUERY STRING

ソリューション:

RewriteCond %{QUERY_STRING} option
RewriteRule ^index\.php http://www.sqlxpert.de/$1? [L,R=301]
RewriteRule ^index2\.php http://www.sqlxpert.de/$1? [L,R=301]
于 2013-02-07T16:42:59.657 に答える
0

次のようなことをする必要があります。

RedirectMatch 301 (.*)/the/old/domain/and/url/(.*) http://the/new/domain/and/path/$2
于 2013-01-23T14:39:20.683 に答える