免責事項:ウェブマスターの経験はほとんどありません。何かが無知だと思われる場合はおApびします。そのように聞こえるのであれば、おそらくそうです。
私の雇用主はウェブサイトのあるバージョンから別のバージョンに切り替える途中であり、当面は古いサイトを新しいサイトにリダイレクトしたいのですが、古いサイトのページはバックアップとして保存したいです。
Googleで検索したところ、サイト全体のリダイレクトを実行する簡単な方法は、.htaccessファイルに次の行を追加することであることがわかりました。
Redirect 301 / http://www.website.com
このタスクが私に与えられる前は、サイトに.htaccessファイルがなかったため、作成し、onlyその行が含まれています。そのファイルが保存されると、古いサイトのURLをロードしようとすると、500内部サーバーエラーが発生しました。
経験豊富なウェブマスターには明らかな何かが欠けていると確信しています。このリダイレクトを保留するには、さらに何が必要ですか?
リダイレクトディレクティブ はmod_aliasモジュールの一部です。 #
ファイルにこの行(または同様の行)のコメントが解除されている(httpd.conf
がない)ことを確認してください。
LoadModule alias_module modules/mod_alias.so
別の可能性理由:ルートフォルダーにリダイレクトする場合は、末尾にスラッシュ/
を追加します。
Redirect 301 / http://www.website.com/
いずれにせよ-詳細については、Apacheのエラーログを確認してください。
UPDATE:サーバーを完全に制御できる場合は、Apache構成ファイル(httpd.confまたは)にAllowOverride All
ディレクティブがあることを確認してくださいhttpd-vhost.conf)、たとえば適切な<VirtualHost>
内:
<Directory "/path/to/website/root">
AllowOverride All
</Directory>
これはおそらく一般的な要件であるにもかかわらず、それと同じような別の質問を見つけることができないので、htaccessファイルに入れるべきものをここに示します。スラッシュの後にURLの一部を保持する場合(つまり、olddomain.com/somethingがnewdomain.com/somethingにリダイレクトする場合)は、次のようにします。
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]
リダイレクトでホームページに移動するだけの場合は、次を使用します。
RewriteRule (.*) http://www.newdomain.com/ [R=301,L]