0

几天前,我的虚拟主机更新了 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 有什么错误吗?我找不到任何东西。我用谷歌搜索了很多次,并多次找到了这个解决方案。到目前为止,我在这个问题上花了很多时间,但我没有取得任何进展。

4

1 回答 1

1

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

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

于 2012-05-23T13:31:13.373 回答