htaccess将url查询字符串重定向到其他字符串参数

时间:2014-08-29 19:05:23

标签: apache .htaccess mod-rewrite redirect

我已经让htaccess在查询字符串中使用%20符号重定向空格+。然后我有另一条规则从一个目录重定向到另一个目录。

示例:

http://Mysite/domestic-jobs/?domestic=val or otherVal

将被重定向到

http://Mysite/jobs/?domestic=val+or+otherVal

现在我需要在我的htaccess文件中包含另一条规则,将?之后的查询字符串参数从?domestic=重定向到?position=。如何在不中断文件中的其他规则的情况下执行此操作?

示例:

http:/Mysite/domestic-jobs/?domestic=val or otherVal

我需要被重定向到

http:/site/jobs/?position=val+or+otherVal

这是我到目前为止所拥有的。

Options +SymLinksIfOwnerMatch
RewriteEngine on
RewriteCond %{QUERY_STRING} ^(.*)%20(.*)$
RewriteRule ^(.*)$ /$1?%1+%2 [L,R=301,NE]

RewriteRule ^domestic-jobs/(.*)$ /jobs/$1 [R=301,NC,L]

1 个答案:

答案 0 :(得分:1)

RewriteEngine On下只需添加:

RewriteCond %{QUERY_STRING} ^domestic=(.*)$
RewriteRule ^(.*)$ /$1?position=%1 [L,R=301]