如何在一个优雅的Apache Rewrite中简化WWW或No WWW?

时间:2011-04-05 10:46:13

标签: apache http mod-rewrite url-rewriting apache2

亲爱的朋友们, 以下代码中的(www.)?部分无法正常工作我觉得:

RewriteCond %{HTTP_HOST} ^(www\.)?mywebsite.com$
RewriteRule ^$ /de/home [L]

上面的代码现在与此一起使用:

####  http:// >> http://www.
RewriteCond %{HTTP_HOST} !^(www\.|$) [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

我觉得通过扩展第一个代码块可以使它变得更简单,因为它将http://http://www.同时捕获到/ de / home

如何调整第一个代码块,使其具有多功能性并捕获任何带或不带www的版本以加载水/ de / home?非常感谢

1 个答案:

答案 0 :(得分:1)

第二组规则的方法。

%{HTTP_HOST}不包含网址的http://部分。也许你可以使用%{THE_REQUEST},但我不明白为什么使用另一种语法而不是第二块。

顺便说一句,比“如果主机不匹配www .->然后将www。添加到用户键入的内容”中简单多了几点???