WordPressサイトを静的なHTML Webサイトに転送しましたが、他のWebサイトには古いWordPressサイトmysite.com/?page_id=1103
へのリンクがあります。
すべてのトラフィックをmysite.com/mypage.html
という新しいURLにリダイレクトしたいのですが、。htaccessファイルでのリダイレクトが機能しません。誰かが。htaccessファイルのコード行を手伝ってくれるかもしれません。私は次のことを試しましたが、うまくいきませんでした:
Redirect 301 /?page_id=1103 http://mysite.com/mypage.html
質問に答える記事 :
残念ながら、RedirectもRedirectMatchもリダイレクトソースのクエリ文字列を指定することはできません。つまり、次のステートメントは無効であり、単に無視されます。
Redirect /page.php?id=3 http://mydomain.site/page/3
Redirect /page.php?id=4 http://mydomain.site/page/4
RedirectMatch ^/page.php?id=([0-9]*)$ http://mydomain.site/page/$1
このソリューションでは、フォーカスをmod_aliasからmod_rewriteに変更する必要があります。以下に例を示します。
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/page\.php$
RewriteCond %{QUERY_STRING} ^id=([0-9]*)$
RewriteRule ^(.*)$ http://mydomain.site/page/%1.pdf [R=302,L]
あなたの場合、コードは次のようになります。
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{QUERY_STRING} ^page_id=1103$
RewriteRule .* http://mydomain.site/mypage.html [R=301,L]