Мне сообщил Rackspace, что они планируют добавить эту функциональность в какой-то момент в ближайшем будущем (конец 2009 года или в начале 2010).
Та функциональность при реализации позволит Вам делать что-то вдоль этих строк:
(использование управления GUI или API)
Prix почти имел его. Когда Вы инвертируете RewriteCond
(с !
) это не получает так %1
пусто. Два возможных решения:
Макет RewriteCond
:
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(.+)$ [NC]
RewriteRule ^/(.*)$ http://www\.%1/$1 [R=301,L]
%{HTTP_HOST}
в RewriteRule
:
RewriteCond %{HTTP_HOST} !^www\.(.+)$ [NC]
RewriteRule ^/(.*)$ http://www\.%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{HTTP_HOST} !^www\.(.+)$ [NC]
RewriteCond %{HTTP_HOST} ^(.+)\.(.+)$ [NC]
RewriteRule ^(.*)$ http://www\.%2/$1 [R=301,L]
!
средства, если это не запускается с "www..." затем, отправляют его в www.%1
который является (.+)
Следующее всегда работало на меня с Apache 2:
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
В суммировании, чистой, протестированной версии кода:
RewriteEngine On RewriteCond %{HTTPS} !=on RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{HTTP_HOST} !^www\.(.+)$ [NC] RewriteRule ^(.*)$ http://www\.%{HTTP_HOST}/$1 [R=301,L]
или
RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteCond %{HTTP_HOST} ^(.+)$ [NC] RewriteRule ^(.*)$ http://www\.%1/$1 [R=301,L]
^(.+)$
это поймает субдомен также, таким образом, %1 сделал бы нечетные вещи, не хороший способ пойти, то же с Вашим вторым правилом. Например, если бы пользователь ввел subdomain.domain.com, то это попыталось бы сделать subdomain.domain.com/$1 – Prix 13 October 2010 в 22:13