0

数日前、私のウェブホストは apache を更新しました。それ以来、エラー コード 500 が表示されます。問題は、Apache が htaccess 構文に従ってより厳密であるように見えることです。エラーは修正されましたが、リダイレクトが意図したとおりに機能しません。

私のhtaccessの内容:

RewriteEngine on
RewriteBase / 

RewriteCond %{http_host} ^(www\.)?domain\.de$ [NC]
RewriteRule ^(.*)$ http://www.domain.de/DE/ [L,R=301]

説明: www.domain.de と domain.de をhttp://www.domain.de/DE/にリダイレクトしたい。

問題:

(www\.)

この部分では、リダイレクトはまったく機能しません。削除すると、domain.de でのみ機能し、www.domain.de では機能しません。

htacces で何か間違いをしましたか? 何も見つかりません。私はたくさんグーグルで検索し、まさにこの解決策を何度も見つけました。今まで私はこの問題に多くの時間を費やしてきましたが、何の進歩もありません。

4

1 に答える 1

1

大文字と小文字を区別する問題である可能性が最も高いです - 変数は実際%{HTTP_HOST}には ではありません%{http_host}( RewriteCond docsを参照してください)

また、www.domain.de/DE/ は ​​RewriteCond と RewriteRule の両方に一致するため、無限のリダイレクト ループが発生しないことに驚きました。

于 2012-05-23T13:31:13.373 に答える