4

我有一个网站已经上线了一段时间。一段时间以来,我在子域上有一个博客。我决定取消主站点,只支持博客子域。

我为此设置了重定向设置,但它将所有额外参数传递到博客,导致出现找不到文件的页面。我只想重定向到没有参数的索引页面。

我目前在我的 .htaccess 文件中拥有的是这个

RewriteCond %{HTTP_HOST} ^.*$
RewriteRule ^/?(.*)$ "http\:\/\/blog\.foo\.org\/index\.php" [R=301,L]

当我收到请求时

http://www.foo.org/foo/foo/?module=foo

它重定向到

http://blog.foo.org/foo/foo/index.php?module=foo

我希望它重定向到 http://blog.foo.org/index.php

4

2 回答 2

3

您必须在替换中指定查询以覆盖原始查询:

RewriteCond %{HTTP_HOST} !^blog\.example\.org$ [NC]
RewriteRule ^ http://blog.example.org/index.php? [R=301,L]
于 2009-02-13T08:42:14.457 回答
1
RewriteEngine On
Options +FollowSymlinks
RewriteCond %{HTTP_HOST} ^(www\.)?foo\.org$ [NC]
RewriteRule ^ http://blog.foo.org/ [R=301,L]
于 2009-02-13T03:40:04.603 回答