htaccess通过传递所有参数重写到新域

时间:2013-05-06 13:55:33

标签: apache .htaccess

我在google上找到了很多建议,我试图将我需要的所有内容粘贴在一起。但是,我没有管理我的htaccess文件。

我想重定向

中的所有内容
www.gugus.com/abc/?lang=fr&something=true

https://test.example.com/abc/?lang=fr%something=true

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

此htaccess必须位于gugus.com root:

RewriteEngine On
RewriteBase /
RewriteRule ^abc/?$ https://test.example.com/abc/ [L,R=301,QSA]

这只会重定向网页abcabc/,无论是否有查询字符串。

修改

如果您希望htaccess位于abc/文件夹中:

RewriteEngine On
RewriteBase /abc/
RewriteRule ^/?$ https://test.example.com/abc/ [L,R=301,QSA]

答案 1 :(得分:1)

通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在.htaccess目录下的DOCUMENT_ROOT/abc中:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /abc/

RewriteCond %{HTTP_HOST} ^www\.gugus\.com$ [NC]
RewriteRule ^ https://test.example.com%{REQUEST_URI} [L,R=302]

验证一切正常后,将R=302替换为R=301。在测试mod_rewrite规则时,请避免使用R=301(永久重定向)。