2011-09-09 26 views
0

我创建一个htaccess文件,我现在有一个长的URL看起来像这样:不完整的查询字符串传递给重定向的URL htaccess的

domain.com/file.aspx?id=1000 & AE =值& PL =数值

我想重定向它看起来像:

seconddomain.com/directory/subdirectory/1000

(即只使用过的ID键的值)。

这是我使用的是什么:

RewriteEngine on 
RewriteCond %{QUERY_STRING} ^id=([0-9]+).*$ 
RewriteRule ^file.aspx$ http://seconddomain.com/directory/subdirectory/%1 [R=301,L] 

不过,我最终得到的是:

http://seconddomain.com/directory/subdirectory/1000?id=1000&AE=value1&PL=value2

即ID的价值被放置在正确的位置 - 但是,完整的查询字符串会被追加。我没有QSA标志。

我在做什么错?

预先感谢您。

回答

2

我想,如果你不设置一个自己,尝试在重定向路径的末尾坚持一个?覆盖这一点,看看是否有帮助查询字符串会自动附加

编辑

只是为了澄清您的代码将如下所示:

RewriteEngine on 
RewriteCond %{QUERY_STRING} ^id=([0-9]+).*$ 
RewriteRule ^file.aspx$ http://seconddomain.com/directory/subdirectory/%1? [R=301,L] 
相关问题