3

私は2つのサーバーを持っています:

Apache / 2.2.14(古いサーバー)を実行しているFedora
Apache / 2.2.3(新しいサーバー)を実行しているCentO

私はかなり前からこの書き換えルールを使用しており、古いサーバーで絶対的な成功を収めています。

Redirect 301 /index.html /

しかし、新しいサーバーでは、このメッセージで惨めに失敗します[alert] [client 192.168.0.5] /home/yoursite/www/.htaccess: Redirect to non-URL

ドキュメントを確認しています...古いサーバーはルールをそのまま受け入れるべきではなく、新しいサーバーはそれを受け入れるべきであることがわかりました。どちらもまったく同じhttpd.confファイルを実行しています。

これを修正する方法を理解しています(http:// ...のページにリダイレクトするだけです)以前のバージョンのApacheを使用して古いサーバーで機能する理由がわかりません(そもそも)、新しいサーバーでは機能しません(実際には機能するはずです)。

誰かが同じような経験をしましたか?

4

1 に答える 1

2

これは2.2.6で修正されたバグでした。

/古いサーバーは、ターゲットURLとして受け入れる新しいバージョン(2.2.14)のApacheを実行していました。新しいサーバーには古いバージョンがあり、mod_aliasはRedirectディレクティブで完全修飾されたターゲットURLを必要とします。

Apacheをアップグレードするか、完全修飾の絶対URLを指定してください。

于 2012-03-21T19:35:34.727 に答える