1

私はこれを約 6 時間調査してきました (これほど長い時間を費やすことを知っていたら、詳細を学ぶためにマニュアルを最初から最後まで読んでいたでしょう)。 .

2 つの Wordpress サイトを持つクライアントがいます。

www.myoldsite.com および www.mynewsite.com。

www.myoldsite.com は、www.mynewsite.com にアクセスできてもアクセスできないサーバーでホストされています。

この制限のため、www.mynewsite.com で .htaccess ファイルを使用して特定の 301 リダイレクトを処理し、ドメイン www.myoldsite.com を www.mynewsite にポイントすることにしました。ほとんどのリダイレクトは問題なく機能していますが、そうでないものもいくつかあります。原因はわかっているのですが、直し方がわかりません。

For example:
On the www.myoldsite.com they had the page www.myoldsite.com/about-us. 
On the new site the new URL is www.mynewsite.com/about-us/what-we-do.

htaccess ファイルは次のようになります。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^mynewsite\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.mynewsite\.com$
RewriteRule /about-us "http\:\/\/mynewsite\.com\/about\-us\/what\-we\-do\/" [R=301,L]

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

現時点では、これにより「リダイレクトが多すぎます」という再帰エラーが発生します。書き換えルールを次のように変更した場合:

RewriteRule ^/about-us$ "http\:\/\/mynewsite\.com\/about\-us\/what\-we\-do\/" [R=301,L]

URL www.myoldsite.com/about-us は、404 /index.php not found を返します。これはWordpressから来ていると言えます。

リダイレクトを使用して www.mynewsite.com/about-us/what-we-do を指すために www.myoldsite.com/about-us が必要なだけです。誰かがそれを助けることができれば、それが最も役に立ちます。

ありがとう。

4

1 に答える 1