如何在 OpenShift 上正确地将 www 重定向到 no-www?

How to redirect www to no-www on OpenShift properly?

我在 730ne.cz 和 www.730ne.cz 上有一个 OpenShift Python 应用程序 运行,我希望 www 版本重定向到非 www.

我添加了 wsgi/.htaccess,内容如下:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/ [R=301,L]

但这也以无限重定向循环结束http://www.730ne.cz/application/application/application/application...

所以我尝试了以下方法:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/ [R=301,L]

并且:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.730ne.cz [NC]
RewriteRule ^(.*)$ http://730ne.cz/ [R=301,L]

并且:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.730ne.cz
RewriteRule ^(.*)$ http://730ne.cz/ [R=301,L]

但我得到的只是:

$ LANG=C wget http://www.730ne.cz/
--2015-03-12 21:40:13--  http://www.730ne.cz/
Resolving www.730ne.cz (www.730ne.cz)... 54.226.71.16
Connecting to www.730ne.cz (www.730ne.cz)|54.226.71.16|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.730ne.cz/ [following]
--2015-03-12 21:40:13--  http://www.730ne.cz/
Reusing existing connection to www.730ne.cz:80.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.730ne.cz/ [following]
--2015-03-12 21:40:13--  http://www.730ne.cz/
Reusing existing connection to www.730ne.cz:80.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.730ne.cz/ [following]

我做错了什么?如何正确执行此操作?

我在 OpenShift 上托管的 WordPress blog 遇到了同样的问题,我使用以下 .htaccess 规则修复了它:

RewriteEngine On
RewriteBase /

# www to non-www
RewriteCond %{HTTP_HOST} ^www.subinsb.com$
RewriteRule (.*) http://subinsb.com:80/ [R=301,L]