我正在尝试只redirect我的顶级域名,例如。 domain.com到sub.domain.com。 域的内部页面不应该被redirect。
我跟着下面的链接: 如何redirect根和只有通过htaccess的根?
但是当我在我的网站上进行search时,查询被追加到子域,如:
sub.domain.com/?q=product在哪里它应该是domain.com/?q=product
我目前的htaccess已经被重写了:
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !\.(png|gif|ico|swf|jpe?g|js|css)$ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php?sef_rewrite=1 [L,QSA]
为了实现上述行为,我需要添加什么?
就在RewriteEngine On下面,添加:
RewriteRule ^$ http://sub.domain.com [R=301,L]
如果我正确阅读,这听起来像你想保持查询string。 但是如果你想删除它,你可以使用:
RewriteRule ^$ http://sub.domain.com? [R=301,L]
编辑:只有在没有查询string的情况下redirect/页面,请使用:
RewriteCond ${QUERY_STRING} ^$ RewriteRule ^$ http://sub.domain.com [R=301,L]
我正在使用这个声明:
ServerName mydomain.tld RewriteEngine On RewriteRule ^(.*) http://www.mydomain.tld [R=301,L]
您也可以按照这个规则重用所有参数:
RewriteRule ^(.*) http://www.mydomain.tld$1 [R=301,L]