新しい Web サイトを GoDaddy 共有 Linux ホスティング アカウントにアップロードしました。以前のサイトでは、次の構造が使用されていました。
Root
----/about (folder)
----/maintenance (folder)
----/services (folder)
...
これらの各フォルダーには、index.html ファイルがありました。
新しいサイト構造は異なります。
Root
.htaccess
about.htm (file in root)
maintenance.htm (file in root)
services.htm (file in root)
...
この .htaccess ファイルをアップロードして、古い URL への呼び出しをリダイレクトしました。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domainname.com
RewriteRule (.*) http\:\/\/www\.domainname\.com/$1 [R=301,L]
rewritecond %{HTTP_HOST} ^www.domainname.com$
rewriterule ^services\/index\.html "http\:\/\/www\.domainname\.com\/services\.htm" [R=301,L]
rewritecond %{HTTP_HOST} ^www.domainname.com$
rewriterule ^why_wood\/index\.html "http\:\/\/www\.domainname\.com\/why-wood\.htm" [R=301,L]
rewritecond %{HTTP_HOST} ^www.domainname.com$
rewriterule ^about\/index\.html "http\:\/\/www\.domainname\.com\/about\.htm" [R=301,L]
rewritecond %{HTTP_HOST} ^www.domainname.com$
rewriterule ^what-to-expect\/index\.html "http\:\/\/www\.domainname\.com\/faq\.htm" [R=301,L]
rewritecond %{HTTP_HOST} ^www.domainname.com$
rewriterule ^maintenance\/index\.html "http\:\/\/www\.domainname\.com\/maintenance\.htm" [R=301,L]
rewritecond %{HTTP_HOST} ^www.domainname.com$
rewriterule ^contact\/index\.html "http\:\/\/www\.domainname\.com\/contact\.htm" [R=301,L]
rewritecond %{HTTP_HOST} ^www.domainname.com$
rewriterule ^index\.html "http\:\/\/www\.domainname\.com\/index\.htm" [R=301,L]
stepforthにある Server Header Checker Tool を使用して、リダイレクトが機能しているかどうかを確認しました。戻ってきたのは次のとおりです。
**Input**
domainname.com/about/index.html
**Output**
www.domainname.com/about.htm/index.html (**expected** www.domainname.com/about.htm)
最初のリダイレクト (非 www から www へ) は正常に機能します。
最後のリダイレクト (ルート index.html からルート index.htm へ) は正常に機能します。
残りはすべて 404 エラーになります。:-(
私は 3 時間ずっと見てきましたが、書き直しで何を変更すべきかを示唆する情報さえ見つけられませんでした。古い URL は 7 つしかありませんが、これは 2 つの問題のうち最初のものであり、完全とは言えません。
何が起こっているのか誰にも分かりますか?
お時間をいただきありがとうございました。