web-dev-qa-db-ja.com

Tomcat4を使用したサイト全体のリダイレクト

免責事項:ウェブマスターの経験はほとんどありません。何かが無知だと思われる場合はおApびします。そのように聞こえるのであれば、おそらくそうです。

私の雇用主はウェブサイトのあるバージョンから別のバージョンに切り替える途中であり、当面は古いサイトを新しいサイトにリダイレクトしたいのですが、古いサイトのページはバックアップとして保存したいです。

Googleで検索したところ、サイト全体のリダイレクトを実行する簡単な方法は、.htaccessファイルに次の行を追加することであることがわかりました。

Redirect 301 / http://www.website.com

このタスクが私に与えられる前は、サイトに.htaccessファイルがなかったため、作成し、onlyその行が含まれています。そのファイルが保存されると、古いサイトのURLをロードしようとすると、500内部サーバーエラーが発生しました。

経験豊富なウェブマスターには明らかな何かが欠けていると確信しています。このリダイレクトを保留するには、さらに何が必要ですか?

3
asfallows

リダイレクトディレクティブ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>
3
LazyOne

これはおそらく一般的な要件であるにもかかわらず、それと同じような別の質問を見つけることができないので、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]
1
paulmorriss