0

他のすべての同様の質問を読みましたが、古いページが本来あるべき場所にリダイレクトされるように設定する方法を理解できませんでした。

これが私の設定です:

私の古いサイトページ:

http://www.oldsite.com/blog/?p=1234
http://www.oldsite.com/blog/?p=432
http://www.oldsite.com/blog/?p=xxxx

最初の2つを次のようにリダイレクトしたいと思います。

http://www.oldsite.com/blog/?p=1234- > http://www.newsite.com/somewhere/on/mysite/
http://www.oldsite.com/blog/?p=432 -> http://www.newsite.com/somewhere/else/on/mysite/

そして、他のすべてのページ(123、321、567、999、...)を次のように私のホームページにリダイレクトします:
http ://www.oldsite.com/blog/?p = * **** -> http: //www.newsite.com/

前もって感謝します!

4

2 に答える 2

3

クエリ文字列と照合するにはmod_rewriteの機能を使用する必要がありますが、すべてのルールはワードプレスのルールの前にある必要があります。

RewriteEngine On

# http://www.oldsite.com/blog/?p=1234 -> http://www.newsite.com/somewhere/on/mysite/
RewriteCond %{QUERY_STRING} ^p=1234$
RewriteRule ^/?blog/$ http://www.newsite.com/somewhere/on/mysite/ [L,R=301]

# http://www.oldsite.com/blog/?p=432 -> http://www.newsite.com/somewhere/else/on/mysite/
RewriteCond %{QUERY_STRING} ^p=432$
RewriteRule ^/?blog/$ http://www.newsite.com/somewhere/else/on/mysite/ [L,R=301]

# http://www.oldsite.com/blog/?p=***** -> http://www.newsite.com/
RewriteCond %{QUERY_STRING} ^p=[0-9]+$
RewriteRule ^/?blog/$ http://www.newsite.com/ [L,R=301]
于 2012-10-19T03:08:36.820 に答える
0

@Jon Linコードを試しましたが、WordPressサイトでは機能しませんでした。問題はWordPressを実行していることだと思います....htaccessコードを含めるべきでしたが、WPが問題になるとは思っていませんでした...

これを機能させるために私がしなければならなかったことは次のとおりです。これはWPサイトであるため、コードをWPmod_rewriteに配置する必要があります。リダイレクト前の.htaccessは次のとおりです。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

以降:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} ^/blog/$
RewriteCond %{QUERY_STRING} ^p=998$
RewriteRule . /some/where/over-there? [L,R=301]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

これがWPを実行していて同じ問題を抱えている他の人々に役立つことを願っています!

于 2012-10-19T17:34:42.290 に答える