htaccess url用问号重写

时间:2012-02-13 02:06:05

标签: regex .htaccess mod-rewrite

我在.htaccess遇到问题,特别是在重定向方面。

我想重写这个网址:

http://www.domain.com/?mod=country

http://www.domain.com/country

我已经尝试过这个.htaccess代码:

RewriteEngine on
RewriteRule ^\?mod=(.*)$ $1

我尝试了没有问号字符的工作,它工作正常。 我已经逃过了问号,因为它是特殊字符的一部分,但是,我仍然无法使用它。

你能说出我错过的东西吗?

1 个答案:

答案 0 :(得分:3)

直接将您的要求转换为重写规则:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^mod=(.*)$
RewriteRule ^$ %1

但你可能想要更灵活的东西:

RewriteEngine On
RewriteCond %{QUERY_STRING} (?:^|&)mod=([^&]+)
RewriteRule /?(.*) %1/$1 [QSA]

这些规则适用于您网域的根目录。

如果要进行外部重定向,请将R标志添加到重写规则中。