重定向到子域,然后使用.htaccess重写

时间:2012-08-10 02:53:53

标签: apache .htaccess mod-rewrite

我看过几十个例子,但我仍然遇到问题。我正在尝试重定向并重写以下内容:

我的长网址是:

http://old.domain.com/index.php?AssetID={long_guid_here}

我已成功重定向到:

http://old.domain.com/{long_guid_here}

但现在我需要将整个事情重定向到:

http://new.domain.com/index.php?AssetID={long_guid_here}

让它看起来很漂亮:

http://new.domain.com/{long_guid_here}

以下内容为我提供了重定向但不是“好”的部分:

RewriteCond %{HTTP_HOST} ^old.domain.com$
RewriteRule ^(.*)$ http://new.domain.com/index.php?AssetID=$1

1 个答案:

答案 0 :(得分:1)

试试这个:

RewriteCond %{HTTP_HOST} ^old.domain.com$
RewriteRule ^(.*)$ http://new.domain.com/$1 [L,QSA,R=301]

注意:您必须在new.domain.com中添加一个.htaccess文件,该文件从 nice 重写为 normal

修改

如果new.domain.com指向与old.domain.com相同的目录(同样的htaccess文件),那么也添加这些行:

RewriteCond %{HTTP_HOST} ^new.domain.com$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?AssetID=$1 [L,QSA]