我的htaccess中的RegEx无法按预期工作

时间:2012-05-23 11:43:59

标签: regex .htaccess mod-rewrite redirect

几天前,我的webhoster更新了apache。从那时起出现错误代码500。 现在的问题是,根据htaccess语法,apache似乎更严格。 错误已修复,但我的重定向无法正常工作。

我的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是否有任何错误?我找不到任何东西。我用Google搜索了很多次,确实找到了这个解决方案。到现在为止,我在这个问题上花了很多时间,但我没有取得任何进展。

1 个答案:

答案 0 :(得分:1)

很可能是区分大小写的问题 - 变量实际上是%{HTTP_HOST},而不是%{http_host}(请参阅RewriteCond docs

另外,我很惊讶您没有获得无限重定向循环,因为www.domain.de/DE/将匹配RewriteCond和RewriteRule。