.htaccess url重写问题将不同的URL指向同一位置

时间:2013-03-22 05:22:39

标签: .htaccess url-rewriting

我有一个网站,我想将不同的URL指向同一位置,例如

www.something.com/usa/?abc=4&test=34&size=small
www.something.com/denmark/?abc=4&test=34&size=small&abc2=4&test2=34&size2=small

应该指向    www.something.com/index.php?abc=4&test=34&size=small    www.something.com/index.php?abc=4&test=34&size=small&abc2=4&test2=34&size2=small

等等

是的,我确实需要跟踪请求来自哪个国家/地区

查询字符串参数可以包含任意数量的不同参数

到目前为止我所拥有的是

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^([0-9a-zA-Z]+)/?$ index.php?domain=$1 [NC,L] 
</IfModule>

如何实现这一目标? 感谢

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码(QSA很重要)

RewriteEngine On
RewriteBase /
RewriteRule (?!^index\.php$)^([^/]*)/?$ /index.php?domain=$1 [NC,L,QSA]

请注意,上述规则会将尚未/index.php的每个URI转发到/index.php,并使用新的查询参数domain=country附加现有查询字符串。