将www重定向到新的子域

时间:2013-09-29 01:54:54

标签: apache .htaccess mod-rewrite

我想将www.acme.com重定向到subdomain.acme.com

到目前为止我所拥有的:

RewriteEngine on
RewriteRule ^http://www.acme.com/(.*)$mysubdomain.acme.com/$1 [R=301,L]

这需要适用于包含和不包含“http://”

的页面链接

谢谢。

编辑***添加我的完整.htaccess

RewriteEngine on
RewriteBase /
#RewriteRule (.*)\.html $1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

3 个答案:

答案 0 :(得分:2)

启用mod_rewrite.htaccesshttpd.conf,然后将此代码放入DOCUMENT_ROOT/.htaccess文件中:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(?:www\.)?(acme\.com)$ [NC]
RewriteRule ^ http://subdomain.%1%{REQUEST_URI} [NE,R=301,L]

这会将每个URI从www.acme.com OR acme.com 永久重定向到 subdomain.acme.com

答案 1 :(得分:0)

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.acme.com
RewriteRule ^(.*)$ http://subdomain.acme.com/$1 [L,NC,QSA]

答案 2 :(得分:-1)

尝试类似......

RewriteCond %{HTTP_HOST} !^subdomain\.acme\.com [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^/(.*)         http://subdomain.acme.com/$1 [L,R=301]

条件是:“如果主机与子域不匹配或未设置。”使用acton:将任何提供的URI重定向到该新主机并保留URI。