2011-04-05 44 views
0

親愛的鄉親, 的(www.)?部分在下面的代碼does not工作正常,我覺得:如何在一個優雅的Apache Rewrite中簡化WWW或無WWW?

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

我覺得它可以通過更簡單:

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

上面的代碼現在有了這個一起工作擴展第一個代碼塊,它同時捕獲了http://http://www.朝/ de/home

如何調整第一個代碼塊是多才多藝的,捕獲任何版本有或沒有www加載在水/德/家?非常感謝

回答

1

第二套規則的方式來做到這一點。

%{HTTP_HOST}不包含http://部分URL。也許你可以使用%{THE_REQUEST},但我不明白爲什麼使用另一個語法而不是第二個塊。

順便說一句,比「如果主機不匹配www .->然後將www。添加到用戶輸入的內容」要簡單多少?