.htaccess 古いサイトを新しいサイトにリダイレクトし、各 URL を個別にリダイレクトする

.htaccess 古いサイトを新しいサイトにリダイレクトし、各 URL を個別にリダイレクトする

別のURLに移行したウェブサイトがあります。そこで、以前のURLをすべて別のセグメントの新しいURLに移行したいと考えました。たとえば、

  1. メインリダイレクト

    旧サイト: https:// myoldsite.abc
    新サイト: https:// mynewsite.xyz

  2. 他のすべてのページも新しいURLにリダイレクトしたい

    古いサイトは https:// myoldsite.abc/myfolder です。
    新しいサイトは https:// mynewsite.xyz/new_url_1 です。

    古いサイトは https:// myoldsite.abc/myfolder/old_url です。
    新しいサイトは https:// mynewsite.xyz/new_url_2 です。

    古いサイトは https:// myoldsite.abc/myfolder/abc_url です。
    新しいサイトは https:// mynewsite.xyz/new_url_3 です。

  3. シンプルなURL

    古いサイトは https:// myoldsite.abc/testing_url です
    。新しいサイトは https:// mynewsite.xyz/New_testing_url_1 です。

私のコードは次のようになります

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{HTTP_HOST} ^myoldsite.abc [NC,OR]
RewriteCond %{HTTP_HOST} ^www.myoldsite.abc [NC]

RewriteRule ^/myfolder/url_1/?$  https://mynewsite.xyz/new_url_1 [R=301,L]
RewriteRule ^/myfolder/url_2/?$  https://mynewsite.xyz/new_url_2 [R=301,L]
RewriteRule ^/myfolder/url_3/?$  https://mynewsite.xyz/new_url_3 [R=301,L]
RewriteRule ^/myfolder/url_4/?$ https://mynewsite.xyz/new_url_4 [R=301,L]

RewriteRule ^/myfolder?$ https://mynewsite.xyz/new_url_4 [R=301,L,NC] 

RewriteRule ^(.*)$ https://mynewsite.xyz [R=301,L]
</IfModule>

答え1

htaccess ファイルは機能するはずです。ルート ディレクトリに配置する必要があります。

代わりにリダイレクトを試しましたか?

301 /folder/ にリダイレクトhttp://www.example.com/new_path/

関連情報